nvim treesitter 与 csv.nvim 冲突

需要把 nvim-treesittercsv 语法关闭

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
-- List of parsers to ignore installing (or "all")
ignore_install = {
    "javascript",
    "markdown",
    "org",
    "csv", -- we do not use tree-sitter csv since csv.lua would be broken
},
highlight = {
    enable = true,
    -- disable = {"csv", "markdown"}
    disable = {"csv"}
},

nvim-treesitter

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
return  {
    "nvim-treesitter/nvim-treesitter",
    build = ":TSUpdate",
    lazy = true,
    -- event = "VeryLazy",
    event = "BufRead",
    -- ft = { "cpp", "python", "bash", "conf", "R", "zsh" },
    dependencies = {
        {"nvim-treesitter/nvim-treesitter-textobjects"}, -- Syntax aware text-objects
        {
            "nvim-treesitter/nvim-treesitter-context", -- Show code context
            opts = {
                -- 用于折叠显示前面的 function prototype
                enable = true, -- FIXME: true?
                mode = "topline",
                line_numbers = false,
                multiwindow = false, -- Enable multiwindow support.
                max_lines = 5, -- How many lines the window should span. Values <= 0 mean no limit.
                -- min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
                -- line_numbers = false,
                multiline_threshold = 20, -- Maximum number of lines to show for a single context
                -- trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
                -- mode = 'topline',  -- Line used to calculate context. Choices: 'cursor', 'topline'
                -- -- Separator between context and content. Should be a single character string, like '-'.
                -- -- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
                -- separator = nil,
                -- zindex = 20, -- The Z-index of the context window
            }
        }
    },
    opts = {
        -- A list of parser names, or "all" (the five listed parsers should always be installed)
        ensure_installed =
        {
            "bash",
            "c",
            "cpp",
            "diff",
            "html",
            "javascript",
            "json",
            "lua",
            "markdown",
            "markdown_inline",
            "python",
            "query",
            "regex",
            "tsx",
            "typescript",
            "vim",
            "yaml",
        },
        -- Install parsers synchronously (only applied to `ensure_installed`)
        sync_install = false,
        -- Automatically install missing parsers when entering buffer
        -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
        auto_install = true,
        -- List of parsers to ignore installing (or "all")
        ignore_install = {
            "javascript",
            "markdown",
            "org",
            "csv", -- we do not use tree-sitter csv since csv.lua would be broken
        },
        highlight = {
            enable = true,
            -- disable = {"csv", "markdown"}
            disable = {"csv"}
        },
        --FIXME: 可能导致 cpp indent 有点不对
        indent = { enable = true },
        textobjects = {select = {enable = true, lookahead = true}}
    },
    config = function(_, opts)
        require'nvim-treesitter.configs'.setup(opts)
    end
}

csv.nvim

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
return {
    'cameron-wags/rainbow_csv.nvim',
    config = true,
    -- event = "VeryLazy",
    -- lazy = true,
    event = "BufRead",
    ft = {
        'csv',
        'tsv',
        'csv_semicolon',
        'csv_whitespace',
        'csv_pipe',
        'rfc_csv',
        'rfc_semicolon'
    },
    cmd = {
        'RainbowDelim',
        'RainbowDelimSimple',
        'RainbowDelimQuoted',
        'RainbowMultiDelim'
    },
}
william 支付宝支付宝
william 微信微信
0%