Skip to content

Conversation

@robhurring
Copy link

@robhurring robhurring commented May 4, 2016

Allow users to toggle concealing off for JSON and Markdown using the following new options:

" turn off JSON conceal *mirrors vim-json's setting
let g:vim_json_syntax_conceal = 0

" turn off Markdown conceal
let g:vim_markdown_syntax_conceal = 0

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.

robhurring added 2 commits May 4, 2016 11:07
turn off with `let g:vim_json_syntax_conceal = 0`
toggle off with `let g:vim_markdown_syntax_conceal = 0`
@sheerun
Copy link
Owner

sheerun commented May 4, 2016

You need these patches against upstream repositories. vim-polyglot just gathers plugins together.

@sheerun sheerun closed this May 4, 2016
@robhurring
Copy link
Author

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.

@ahmedelgabri
Copy link

Any updates on this?

@robhurring
Copy link
Author

This was merged into tpope/vim-markdown#99. It should be available here next update. (Not sure what the cycle for that is)

@ahmedelgabri
Copy link

What about JSON? since the upstream plugin already supports the option to disable this?

@robhurring
Copy link
Author

Same deal, next pull from upstream should bring this functionality in. @sheerun would you be able to update the json and markdown packages for us?

Also worth noting, in the https://github.com/tpope/vim-markdown/pull/99/files I renamed the setting to let g:markdown_syntax_conceal = 0 to be more consistent within the package itself, and not what this PR mentions at the top.

@ahmedelgabri
Copy link

Thanks @robhurring

@sheerun
Copy link
Owner

sheerun commented Jun 17, 2016

I've pushed updated build

@robhurring
Copy link
Author

@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.

@sheerun
Copy link
Owner

sheerun commented Jun 17, 2016

that's because I want to keep conceal off by default (I removed concealing in my fork)

@sheerun
Copy link
Owner

sheerun commented Jun 17, 2016

See: elzr/vim-json#59

@robhurring
Copy link
Author

Whoops. Missed that part -- 💯 agree, concealing is obnoxious IMO.

@ahmedelgabri
Copy link

For some reason I still can't disable concealing in .json files, I see that you disabled it here sheerun/vim-json@fe4596e and I do have this in my .vimrc but still it's not disabled.

@sheerun
Copy link
Owner

sheerun commented Jun 28, 2016

Maybe you're using different plugin? Could you post your .vimrc somewhere?

@ahmedelgabri
Copy link

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.

@ahmedelgabri
Copy link

@sheerun I think I had a problem with my tmux session, not sure how. But it works now. Thanks & sorry for the false alarm.

Kache added a commit to Kache/vim-polyglot that referenced this pull request Nov 10, 2025
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants