-
Notifications
You must be signed in to change notification settings - Fork 306
Make syntax concealing optional for JSON + Markdown. #125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
turn off with `let g:vim_json_syntax_conceal = 0`
toggle off with `let g:vim_markdown_syntax_conceal = 0`
|
You need these patches against upstream repositories. vim-polyglot just gathers plugins together. |
|
Fair enough. For the JSON syntax, the upstream already has this functionality (here but not in your fork), I was trying to back-port to here since I wasn't sure how you were handling the syntax files. The markdown I can definitely put a PR against the main repo. |
|
Any updates on this? |
|
This was merged into tpope/vim-markdown#99. It should be available here next update. (Not sure what the cycle for that is) |
|
What about JSON? since the upstream plugin already supports the option to disable this? |
|
Same deal, next pull from upstream should bring this functionality in. @sheerun would you be able to update the Also worth noting, in the https://github.com/tpope/vim-markdown/pull/99/files I renamed the setting to |
|
Thanks @robhurring |
|
I've pushed updated build |
|
@sheerun your sheerun/vim-json repo looks out of date from its upstream (elzr/vim-json) which has those settings so the g:vim_json_syntax_conceal setting never made it in. |
|
that's because I want to keep conceal off by default (I removed concealing in my fork) |
|
See: elzr/vim-json#59 |
|
Whoops. Missed that part -- 💯 agree, concealing is obnoxious IMO. |
|
For some reason I still can't disable concealing in |
|
Maybe you're using different plugin? Could you post your .vimrc somewhere? |
|
Not the most organized but here you go https://github.com/ahmedelgabri/dotfiles/blob/master/vim/vimrc.local#L60 the other json plugin is already commented out. |
|
@sheerun I think I had a problem with my tmux session, not sure how. But it works now. Thanks & sorry for the false alarm. |
Fix ftdetect for ft ext defined only by native vim, e.g.
`*.jjdescription`, `*.http`, `*.mysql_history`, & others
It seems vim-polyglot loads vim-`filetype.vim` then clobbers it by
"resetting" with `au! filetypedetect` afterwards, even though
vim-polyglot intends to be a fallback, according to comments in
`init.vim`
This is evidenced by `*.jjdescription`, `*.http`, and `.mysql_history`,
filetype extensions defined in vim-`filetype.vim` but not
polyglot-`filetype.vim`:
vim -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.jjdescription
vim -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.http
vim -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" .mysql_history
Compare:
vim --clean -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.jjdescription
vim --clean -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.http
vim --clean -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" .mysql_history
And:
vim -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.py
vim -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.bash
vim -c "redir >> /dev/stdout" -c "set filetype?" -c "redir END" -c "sleep 3" -c "quit" foo.js
Note although vim-polyglot does not define `bash.vim` nor
`javascript.vim`, polyglot-`filetype.vim` does define the `*.bash` and
`*.js` extensions, so they "still work"
I'm using `vim --version` and vim-plug:
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled May 23 2025 00:48:59)
Included patches: 1-948, 950-1230, 1242, 1244
Tried to retain original intent to first load poly-`filetype.vim` then
vim-`filetype.vim` on top. Early workarounds:
* disable vim-polyglot ftdetect `let g:polyglot_disabled = ['ftdetect']`
* `init.vim`: comment out `au! filetypedetect`
* `init.vim`: comment out `Load user-defined...` and `Prevent filetype.vim...` paragraphs
Unsure how to test "vim-`filetype.vim` loads first case", which seems
related to [handling nvim and other package managers](sheerun/issues/706#issuecomment-826067169),
which I haven't done
My print debugging output below, indentations for clarity.
Before:
```
poly filetype.vim start
init.vim start
init.vim did_load_polyglot: false
init.vim runtime! filetype.vim
poly filetype.vim start
init.vim init() no-op
poly filetype.vim end
vim filetype.vim start
init.vim init() no-op
vim filetype.vim end
init.vim init() no-op
init.vim did_load_filetypes: true
init.vim end
init.vim init() no-op
poly filetype.vim end
vim filetype.vim start
vim filetype.vim finish early
polyglot.vim start
init.vim init() no-op
polyglot.vim finish
```
After:
```
poly filetype.vim start
init.vim start
init.vim did_load_polyglot: false
init.vim did_load_filetypes: false
init.vim end
init.vim init() no-op
poly filetype.vim end
vim filetype.vim start
init.vim init() no-op
vim filetype.vim end
polyglot.vim start
init.vim init() no-op
polyglot.vim finish
```
Related: sheerun#706, sheerun#758, sheerun#756, sheerun#758, sheerun#871, NoahTheDuke/vim-just#125
Fix: sheerun#877, sheerun#125, sheerun#829, sheerun#845, sheerun#817
Allow users to toggle concealing off for JSON and Markdown using the following new options:
Default is on, so should have the same expected behavior OOB. I can add more options for other languages, but these were the 2 that affected me personally.