Ignores git log highlighting
t-scutulatus opened this issue · 17 comments
If nvimpager is set as:
git config core.pager nvimpager
no highlighting occurs when git log command is used.
I can not reproduce this with the available information.
- Is nvimpager running when you execute
git log
or not? Or is only the highlighting off but nvimpager displays the log in black and white? - Did you set that option globally or locally in a git repo? Is $PAGER or $GIT_PAGER set?
- Does the highlighting work when you activate it manually with
:setf git
? - Is the log you tested with longer or shorter than your terminal? Or rather are you running in cat or pager mode?
@p-scvtvlatvs Ensure that you don't have $PAGER
set to something other than nvimpager
as it will overwrite the core.pager
configuration for git iirc.
- I think it is executed because it displays the log in black and white.
- I set it globally and I used the PAGER environment variable as well.
- I haven't tried :setf yet...
- The log is shorter than the terminal width and height.
@cvoges12:
If I unset PAGER
the default pager is used (I think is less
).
if you are in less and press h
it should show to help text of less (it says "SUMMARY OF LESS COMMANDS" at the top). If you are in nvimpager and execute :lua print(nvimpager)
it should print "table: 0x7f4e48937d20" or so, especially not nil
.
Does the highlighting work when you execute git log | nvimpager -c
or git log | nvimpager -p
or nvimpager ./some/file
?
Yes, it highlights with all the three commands.
If these commands work than we can at least conclude that nvimpager works on your machine.
Can you please:
- find out if nvimpager is run or if another pager is run
- when nvimpager runs try
setf git
and see if that activates highlighting - tell me what operating system you are on
- run git diff and the inside nvimpager run
:lua print(require('nvimpager')._testable.detect_parent_process())
- Yes, it runs.
- Yes, highlighting seems to be activated, but everything turns black and white when
git log
is run. - Arch Linux
- It returns the
git
value.
git config -l
and git log
still returns black and white. However, git diff
highlights...
That sounds strange. I can currently not reproduce this (in a arch linux container).
Can you try git log > file ; nvim file
?
Yes, I can see the output in nvim
.
The output or also the highlight?
I am at loss here. It seems that neovim and nvimpager are installed and working. You will have to find a way to debug this and give more precise info what is happening behind the scenes.
Just the output.
Ok, my neovim shows highlighting when I open a file that contains git log output. So the problem seems to be with the runtime files of your neovim.
- what happens if you open the output of
git log
with nvim and then execute:setf git
? - How did you install neovim?
- which version of neovim is installed?
- are several versions installed?
which -a nvim
- what is the output of
:filter git scriptnames
in nvimpager withgit log
and what is it forgit diff
(where highlighting seems to work) - what is the output of
:echo globpath(&rtp, '*/git.vim')
in nvim and nvimpager?
- Nothing.
- With
pacman
. - 0.4.4
- Two;
/bin/nvim
and/usr/bin/nvim
- With
git log
is:
/usr/share/nvim/runtime/syntax/git.vim
/usr/share/nvim/runtime/ftplugin/git.vim
Forgit diff
is the same. - Nothing for
nvim
and fornvimpager
, the same as bullet 5.
If you installed your neovim with pacman and still have 0.4.4 I assume you did not do a system update in a long time. Mind doing one?
I am really out of ideas by now. It seems that your syntax file is loaded correctly but just not applied. It does not look like you have multible versions of the same file installed. It also looks like the issue is not with nvimpager but already with plain nvim.
You will have to dig around a bit more yourself because it is really difficult for me to do this debugging remotely. If you have any more questions or need help with the debugging please ask but please also provide the info what you have tried and how it went up front.
Closed until further info is available.