Commit Graph

61 Commits (a10e931247cde3ac4fc7e45ee0ffc5520d54bc77)

Author SHA1 Message Date
Marco Hinz a10e931247
Correct -h output 7 years ago
Marco Hinz 40f5705eef
Be more precise when to implicitly use --remote-silent 7 years ago
Marco Hinz f8250c0c38
From all --remote* options, check the implicit --remote-silent last
References #43.
7 years ago
Marco Hinz 905bbb7dc3
Fix -p
Closes #65.
7 years ago
Marco Hinz 67f36cc550
Improve error message of --remote-expr
References #63.
7 years ago
Marco Hinz 0c7068b2cc
Start new nvim instance when no argument given
Closes #62.
7 years ago
Marco Hinz 282aa12fb4
Check if Unix domain socket is connectable before attaching 7 years ago
Marco Hinz d28c9c00bf
Remove useless level of indentation 7 years ago
Marco Hinz 538e18be6d
Move address type detection logic into own function 7 years ago
Marco Hinz ec612dc16c
Improve check for IPv4 address
If the address contains only one colon followed by a number, assume TCPv4 and
a Unix domain otherwise.

Closes #60.
7 years ago
Marco Hinz d138b98bde
Ignore "E37: No write since last change" in --remote*
References https://github.com/mhinz/neovim-remote/issues/54
7 years ago
Marco Hinz 64e9f486a1
Revert "Temporarily reset &modified when opening files"
This reverts commit 6845b8b5a6.
7 years ago
Marco Hinz 6845b8b5a6
Temporarily reset &modified when opening files
:edit and similar commands used by the --remote* options throw an exception if
the buffer is modified:

    E37: No write since last change (add ! to override)

Using :enew! doesn't work, since it reverts all changes. Thus we simply reset
&modified temporarily.

References https://github.com/mhinz/neovim-remote/issues/54
7 years ago
Marco Hinz c1fedb4de8
Redirect stdout to stdin when forking
This is needed so the new nvim process ignores the data in stdin, because it
comes from a TTY now.
7 years ago
Marco Hinz 4b8c384462
Only process + at the beginning of --remote*
nvr +1 +2 3 +4 5

The above will do the following in the given order:

  - open file "5"
  - open file "+4"
  - open file "3"
  - execute :2
  - execute :1

That's how Vim does it.
7 years ago
Marco Hinz 957082771b
Ignore OSError instead of FileNotFoundError 7 years ago
Marco Hinz 13808fd5ec
Ignore only invalid addresses 7 years ago
Harm te Hennepe a85aa94321 Support multiple + commands and let empty + go to the last line 7 years ago
Drew Neil ee9a6c4f39 Document `-p` flag independent of `--remote-tab` flag 7 years ago
Marco Hinz a973424000
Make -s overwrite all other options
References https://github.com/mhinz/neovim-remote/issues/48#issuecomment-318163612
7 years ago
Marco Hinz 625b8ddf45
Change command to run using $NVR_CMD
References https://github.com/mhinz/neovim-remote/issues/48
7 years ago
Marco Hinz 4e827d4d7d
Process all options before waiting
References https://github.com/mhinz/neovim-remote/issues/46
7 years ago
Marco Hinz fa9ecbcc71
--serverlist: don't print empty lines 7 years ago
Marco Hinz af4103a16a
Sort short options in help output 7 years ago
Marco Hinz 5df48bbf2c
Add -s option 7 years ago
Marco Hinz 031c7a911f
Rename variable "flags" to "options" 7 years ago
Marco Hinz 70f8bf86d7
Docs: add nvr/git example to help message 7 years ago
Marco Hinz 1e9be0473f
Docs: instance -> process 7 years ago
Marco Hinz 2111ea9d0a
Consider the possibility that "nvim" is not in $PATH 7 years ago
Marco Hinz 6e1fe04456
Make forked child try attaching multiple times
This most likely makes it attach faster than the previous fixed 1 second
timeout.
7 years ago
Marco Hinz 58d56cba6b
More robust socket handling 7 years ago
Marco Hinz 8f8fa3ed27
Improve the start of a new instance
If the given instance is not found, we fork nvr.

The parent process gets replaced by a new nvim instance.

The child waits for one second and then tries attaching to the newly started
nvim instance.

Advantage: All options passed to nvr are now correctly handled even by new nvim
instances that were started by nvr.

References https://github.com/mhinz/neovim-remote/issues/44
7 years ago
Marco Hinz 7422ee6d90
Handle files beginning with - for --remote options
Small tradeoff: You get no error anymore when you provide no arguments to
--remote and friends.

Internally this results in an empty list instead of None. This is important,
because otherwise you'd get an error with `--remote -- foo`, because `--` and
`foo` would be parsed into the remaining arguments and --remote had no argument.

In return it's now possible to provide files beginning with a dash to any
--remote option. Leading -- before those files is not needed.

Equivalent:

    --remote --file
    --remote -- --file

Fixes https://github.com/mhinz/neovim-remote/issues/43
7 years ago
Marco Hinz 39519a7b00
Make main() take optional environment 7 years ago
Marco Hinz aee0fa049c
Rename package to "nvr" 7 years ago
Marco Hinz c405bf48de Upload to PyPI
You can now install "nvr" via:

    pip3 install neovim-remote

References #8.
9 years ago
Marco Hinz f12722e8b3 Make --serverlist work again
Refactoring gone wrong. *cough*

Closes #7.
9 years ago
Marco Hinz 06d9297d3e Add --remote-tab-{wait,silent,wait-silent} 9 years ago
Marco Hinz 69a42753a5 Make --remote-tab take +{cmd} 9 years ago
Marco Hinz beba805d9a Improve option descriptions 9 years ago
Marco Hinz 1eaf77cfce Make --remote{,-silent,-wait,-wait-silent} take +{cmd}
This is done to stay compatible to Vim, see ":h --remote".

References #5.
9 years ago
Marco Hinz d56e137bc7 Simplify TCP/Unix socket distinction 9 years ago
Marco Hinz 994229d97c Make license future-proof 9 years ago
Anmol Sethi abbead4ba1 Support both Unix domain and TCP sockets 9 years ago
Marco Hinz 00252f6195 Implement -c 9 years ago
Marco Hinz a863309db1 Print usage when no arguments are given 9 years ago
ohle a308d2d0c0 Use absolute file paths for opening files
Otherwise, filenames are interpreted as relative to neovim's cwd, which is not
necessarily that of the shell executing nvr.
9 years ago
Marco Hinz 87024b711f Remove obsolete run_nvim() 9 years ago
Marco Hinz 3871822bbb Process unused arguments first 9 years ago
Marco Hinz 8e7d5ff995 Catch --remote-expr failures 9 years ago