Correct command to open URL generated, but the page doesn't open
alichtman opened this issue · comments
When I trigger the plugin, I see
vim-gh-line executing: xdg-open https://github.com/alichtman/shallow-backup/blob/a5b36f3532f07c4fc577495a2d476f8e133456ff/README.md#L239
but the page never opens in Firefox. Running that command manually in a terminal does open the page.
Env
- Ubuntu 22.04
- NVIM v0.7.0-dev
nvim health check
coc: health#coc#check
========================================================================
- OK: nvim version satisfied
- OK: Environment check passed
- OK: Javascript bundle build/index.js found
- OK: Service started
jedi: health#jedi#check
========================================================================
## jedi
nvim: health#nvim#check
========================================================================
## Configuration
- OK: no issues found
## Performance
- OK: Build type: RelWithDebInfo
## Remote Plugins
- OK: Up to date
## terminal
- INFO: key_backspace (kbs) terminfo entry: key_backspace=\177
- INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
- INFO: $VTE_VERSION='6800'
- INFO: $TERM_PROGRAM='tmux'
- INFO: $COLORTERM='truecolor'
## tmux
- OK: escape-time: 0
- INFO: Checking stuff
- OK: focus-events: on
- INFO: $TERM: xterm-256color
- ERROR: $TERM should be "screen-256color" or "tmux-256color" in tmux. Colors might look wrong.
- ADVICE:
- Set default-terminal in ~/.tmux.conf:
set-option -g default-terminal "screen-256color"
- https://github.com/neovim/neovim/wiki/FAQ
- WARNING: Neither Tc nor RGB capability set. True colors are disabled. |'termguicolors'| won't work properly.
- ADVICE:
- Put this in your ~/.tmux.conf and replace XXX by your $TERM outside of tmux:
set-option -sa terminal-overrides ',XXX:RGB'
- For older tmux versions use this instead:
set-option -ga terminal-overrides ',XXX:Tc'
provider: health#provider#check
========================================================================
## Clipboard (optional)
- OK: Clipboard tool found: xclip
## Python 2 provider (optional)
- INFO: pyenv: Path: /usr/local/var/pyenv/libexec/pyenv
- INFO: pyenv: Root: /usr/local/var/pyenv
- INFO: Using: g:python_host_prog = "/usr/bin/python2"
- INFO: Executable: /usr/bin/python2
- ERROR: Command error (job=7, exit code 1): `'/usr/bin/python2' -c 'import sys; sys.path = list(filter(lambda x: x != "", sys.path)); import neovim; print(neovim.__file__)'` (in '/home/alichtman/Desktop/Development/projects/shallow-backup')
stderr: Traceback (most recent call last): File "<string>", line 1, in <module>ImportError: No module named neovim
- INFO: Python version: 2.7.18
- INFO: pynvim version: unable to load neovim Python module
- ERROR: pynvim is not installed.
Error: unable to load neovim Python module
- ADVICE:
- Run in shell: /usr/bin/python2 -m pip install pynvim
## Python 3 provider (optional)
- INFO: pyenv: Path: /usr/local/var/pyenv/libexec/pyenv
- INFO: pyenv: Root: /usr/local/var/pyenv
- INFO: Using: g:python3_host_prog = "/usr/local/var/pyenv/shims/python3"
- INFO: Executable: /usr/local/var/pyenv/shims/python3
- INFO: Python version: 3.8.1
- INFO: pynvim version: 0.4.3
- OK: Latest pynvim is installed.
## Python virtualenv
- OK: no $VIRTUAL_ENV
## Ruby provider (optional)
- INFO: Ruby: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
- WARNING: `neovim-ruby-host` not found.
- ADVICE:
- Run `gem install neovim` to ensure the neovim RubyGem is installed.
- Run `gem environment` to ensure the gem bin directory is in $PATH.
- If you are using rvm/rbenv/chruby, try "rehashing".
- See :help |g:ruby_host_prog| for non-standard gem installations.
## Node.js provider (optional)
- INFO: Node.js: v18.3.0
- WARNING: Missing "neovim" npm (or yarn) package.
- ADVICE:
- Run in shell: npm install -g neovim
- Run in shell (if you use yarn): yarn global add neovim
## Perl provider (optional)
- ERROR: perl provider error:
- ADVICE:
- "Neovim::Ext" cpan module is not installed
vim.lsp: require("vim.lsp.health").check()
========================================================================
- INFO: LSP log level : WARN
- INFO: Log path: /home/alichtman/.cache/nvim/lsp.log
- INFO: Log size: 16 KB
vim.treesitter: require("vim.treesitter.health").check()
========================================================================
- INFO: Runtime ABI version : 14
- OK: Loaded parser for c: ABI version 13
same here!
I think its a neovim problem:
:call system('xdg-open http://firefox.com')
https://github.com/neovim/neovim/wiki/FAQ#-and-system-do-weird-things-with-interactive-processes
Im not neovim expert but should be other way to call xdg-open without system.
temporal solution, because I use a lot this plugin:
add the setting let g:gh_trace=1
to your vimrc then you will at least see the URL on the statusline
@alichtman check prev message!
@zodman Yup, I agree with your analysis (and thumbs'd up your comment the day you posted it 😃)
Leaving the issue open, as there's no proper fix
As mentioned here, you can use jobstart
instead of system
(works on Ubuntu 22.04, NVIM v0.9.0-dev-342+g282cbc235).
@sebastian-palma PR please please!
I found out that vim-fugitive
has this functionality baked in, so I added these two remappings and dropped the vim-gh-line
plugin from my config.
" Open selection on github
nnoremap go :.GBrowse<CR>
vnoremap go :'<,'>.GBrowse<CR>
I think the proposed jobstart
patch would fix this issue (and I would put up a PR if I hadn't already fixed my workflow).