Skip to content
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

fix: don't set conceallevel from syntax plugin #108

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on May 19, 2024

  1. fix: don't set conceallevel from syntax plugin

    I noticed that when I load a markdown file in vim, the `vim-json` file
    automatically runs `set conceallevel=2`. There's a few configs which are
    necessary to reproduce this:
    
    1. vimrc should have `let g:markdown_fenced_languages = [ 'json', ... ]`
    2. Install `elzr/vim-json` plugin
    3. Load any markdown file
    
    When these conditions are met, the markdown plugin will load the
    `vim-json/syntax/json.vim` script. The problem is that this script does
    something unusual by also loading the corresponding `ftplugin` script.
    Since loading the `ftplugin` script is the root cause, the fix is to
    stop loading this script. Because the `g:vim_json_syntax_conceal` plugin
    might be uninitialized now, this guards the references with `exists()`
    expressions. This is the same pattern as used in the builtin json syntax
    plugin (`vim/runtime/syntax/json.vim`).
    
    I tested this with:
    
    * `set conceallevel=2 | let g:vim_json_syntax_conceal = 0`
    * `set conceallevel=0 | let g:vim_json_syntax_conceal = 1`
    * and also with default settings
    
    Fixes elzr#104
    nfischer committed May 19, 2024
    Configuration menu
    Copy the full SHA
    5c146c4 View commit details
    Browse the repository at this point in the history