Giter Site home page Giter Site logo

hiphish / rainbow-delimiters.nvim Goto Github PK

View Code? Open in Web Editor NEW
455.0 3.0 33.0 1.58 MB

Rainbow delimiters for Neovim with Tree-sitter

Home Page: https://gitlab.com/HiPhish/rainbow-delimiters.nvim

License: Apache License 2.0

Vim Script 1.07% Lua 60.08% Scheme 25.97% Shell 2.45% C 0.65% C# 1.71% Clojure 0.09% Common Lisp 0.15% C++ 0.53% CSS 0.14% Cuda 0.62% Dart 0.68% Fennel 0.95% Go 0.98% Haskell 0.52% HTML 0.32% Java 0.75% JavaScript 0.89% Jsonnet 1.40% Julia 0.06%

rainbow-delimiters.nvim's Introduction

Rainbow delimiters for Neovim

This Neovim plugin provides alternating syntax highlighting (“rainbow parentheses”) for Neovim, powered by Tree-sitter. The goal is to have a hackable plugin which allows for different configuration of queries and strategies, both globally and per file type. Users can override and extend the built-in defaults through their own configuration.

This is a fork of nvim-ts-rainbow2, which was implemented as a module for nvim-treessiter. However, since nvim-treesitter has deprecated the module system I had to create this standalone plugin.

Installation and setup

Installation

Install it like any other Neovim plugin. You will need a Tree-sitter parser for each language you want to use rainbow delimiters with.

Setup

No configuration is needed to get started, this plugin has reasonable defaults which you can override. Configuration is done by setting entries in the Vim script dictionary g:rainbow_delimiters. Here is an example configuration:

let g:rainbow_delimiters = {
    \ 'strategy': {
        \ '': rainbow_delimiters#strategy.global,
        \ 'vim': rainbow_delimiters#strategy.local,
    \ },
    \ 'query': {
        \ '': 'rainbow-delimiters',
        \ 'lua': 'rainbow-blocks',
    \ },
    \ 'priority': {
        \ '': 110,
        \ 'lua': 210,
    \ },
    \ 'highlight': [
        \ 'RainbowDelimiterRed',
        \ 'RainbowDelimiterYellow',
        \ 'RainbowDelimiterBlue',
        \ 'RainbowDelimiterOrange',
        \ 'RainbowDelimiterGreen',
        \ 'RainbowDelimiterViolet',
        \ 'RainbowDelimiterCyan',
    \ ],
\ }

The equivalent code in Lua:

-- This module contains a number of default definitions
local rainbow_delimiters = require 'rainbow-delimiters'

---@type rainbow_delimiters.config
vim.g.rainbow_delimiters = {
    strategy = {
        [''] = rainbow_delimiters.strategy['global'],
        vim = rainbow_delimiters.strategy['local'],
    },
    query = {
        [''] = 'rainbow-delimiters',
        lua = 'rainbow-blocks',
    },
    priority = {
        [''] = 110,
        lua = 210,
    },
    highlight = {
        'RainbowDelimiterRed',
        'RainbowDelimiterYellow',
        'RainbowDelimiterBlue',
        'RainbowDelimiterOrange',
        'RainbowDelimiterGreen',
        'RainbowDelimiterViolet',
        'RainbowDelimiterCyan',
    },
}

Please refer to the manual for more details. For those who prefer a setup function there is the module rainbow-delimiters.setup that accepts all the same parameters as g:rainbow-delimiters.

require('rainbow-delimiters.setup').setup {
    strategy = {
        -- ...
    },
    query = {
        -- ...
    },
    highlight = {
        -- ...
    },
}

Help wanted

There are only so many languages which I understand to the point that I can write queries for them. If you want support for a new language please consider contributing code. See the CONTRIBUTING for details.

Status of the plugin

Tree-sitter support in Neovim is still experimental. This plugin and its API should be considered stable insofar as breaking changes will only happen if changes to Neovim necessitates them.

License

Licensed under the Apache-2.0 license. Please see the LICENSE file for details.

Migrating from nvim-ts-rainbow2

Rainbow-Delimiters uses different settings than nvim-ts-rainbow2, but converting the configuration is straight-forward. The biggest change is where the settings are stored.

  • Settings are stored in the global variable g:rainbow-delimiters, which has the same keys as the old settings
  • The default strategy and query have index '' (empty string) instead of 1
  • Default highlight groups have the prefix RainbowDelimiter instead of TSRainbow, e.g. RainbowDelimiterRed instead of TSRainbowRed
  • The default query is now called rainbow-delimiters instead of rainbow-parens
  • The public Lua module is called rainbow-delimiters instead of ts-rainbow

The name of the default query is now rainbow-delimiters because for some languages like HTML the notion of "parentheses" does not make any sense. In HTML the only meaningful delimiter is the tag. Hence the generic notion of a "delimiter".

Attribution

This is a fork of a previous Neovim plugin, the original repository is available under https://sr.ht/~p00f/nvim-ts-rainbow/.

Attributions from the original author

Huge thanks to @vigoux, @theHamsta, @sogaiu, @bfredl and @sunjon and @steelsojka for all their help

Screenshots

Bash

Screenshot of a Bash script with alternating coloured delimiters

C

Screenshot of a C program with alternating coloured delimiters

Common Lisp

Screenshot of a Common Lisp program with alternating coloured delimiters

HTML

Screenshot of an HTML document with alternating coloured delimiters

Java

Screenshot of a Java program with alternating coloured delimiters

LaTeX

Using the rainbow-blocks query to highlight the entire \begin and \end instructions.

Screenshot of a LaTeX document with alternating coloured delimiters

Lua

Using the rainbow-blocks query to highlight the entire keywords like function, if, else and end.

Screenshot of a Lua script with alternating coloured delimiters

rainbow-delimiters.nvim's People

Contributors

akhilrobert avatar alexander-p30 avatar amopel avatar aspeddro avatar bomgar avatar brokenbyte avatar c-a-v-a avatar catthingy avatar clslaid avatar danielkonge avatar delphinus avatar folliehiyuki avatar gelio avatar github-actions[bot] avatar hiphish avatar jcapblancq avatar kawre avatar liljaylj avatar luozhiya avatar mattyoung101 avatar oxfist avatar p00f avatar qsdrqs avatar ram02z avatar reo101 avatar sunjon avatar thehamsta avatar tradiff avatar tuanha168 avatar tzachar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rainbow-delimiters.nvim's Issues

[Feature]: Move to more standard `.setup()` function for configuration

Sorry, there isn't an option for suggestions/feature request. I just wanted to recommend moving to the more standard .setup() function for setting up and configuring the plugin rather than the vim.g variable. This would make the plugin very easy to configure with plugin managers such as Lazy and align with the configuring of most other Neovim plugins.

[Bug]: healthcheck fails

Neovim version

0.9.4

Language affected

All

Query

rainbow-delimiters-react

Strategy

No response

Description

Hi, for some reason the healthcheck fails when I have the javascript query rule 'rainbow-delimiters-react' enabled. When I comment it out, the healthcheck passes without issue.

Healthcheck Output

==============================================================================
rainbow-delimiters: require("rainbow-delimiters.health").check()

- ERROR Failed to run healthcheck for "rainbow-delimiters" plugin. Exception:
  function health#check, line 25
  Vim(eval):E5108: Error executing lua ...im/0.9.4/share/nvim/runtime/lua/vim/treesitter/query.lua:259: query: invalid node type at position 1260 for language javascript
  stack traceback:
  [C]: in function '_ts_parse_query'
  ...im/0.9.4/share/nvim/runtime/lua/vim/treesitter/query.lua:259: in function 'get'
  ...ainbow-delimiters.nvim/lua/rainbow-delimiters/health.lua:63: in function 'check_query'
  ...ainbow-delimiters.nvim/lua/rainbow-delimiters/health.lua:160: in function 'check'
  [string "luaeval()"]:1: in main chunk

Lazy Settings

Just a note, I like to include as many default settings as I can to make it easier to change settings without looking at documentation. So that is why there are so many comments and settings in my configuration.

{
    'hiphish/rainbow-delimiters.nvim',
    dependencies = "nvim-treesitter/nvim-treesitter",
    event = "VeryLazy",
    config = function()
        local rainbow = require 'rainbow-delimiters'

        vim.g.rainbow_delimiters = {
            -- Each language is based on a treesitter language name.

            -- Defines the highlighting strategy.
            strategy = {
                --[[
                'global' - Highlight all delimiters, updates with document
                           changes.
                'local'  - Highlight only the subtree that contains the cursor,
                           updates when the cursor moves.
                --]]
                -- Default Strategy
                [''] = rainbow.strategy['global'],
                html = rainbow.strategy['local'],
                latex = function()
                    -- Disabled for very large files,
                    if vim.fn.line('$') > 10000 then
                        return nil
                        -- global strategy for large files,
                    elseif vim.fn.line('$') > 1000 then
                        return rainbow.strategy['global']
                    end
                    -- local strategy otherwise
                    return rainbow.strategy['local']
                end
            },

            -- Defines what to match
            query = {
                -- Default Query - Reasonable set of parenthesis and similar
                -- delimiters in most languages
                [''] = 'rainbow-delimiters',
                -- Matches `\begin` and `\end` instructions
                latex = 'rainbow-blocks',
                -- Matches keywords like `function` and `end` as well as
                -- parenthesis
                lua = 'rainbow-blocks',
                -- Includes React support
                javascript = 'rainbow-delimiters-react',
                --[[
                -- Only parenthesis without React tags
                javascript = 'rainbow-parens',
                -- Only typescript highlighting without React tags
                tsx = 'rainbow-parens',
                --]]
                -- Matches keywords like `begin` and `end` as well as
                -- parenthesis
                verilog = 'rainbow-blocks',
            },
            highlight = {
                'RainbowDelimiterRed',
                'RainbowDelimiterYellow',
                'RainbowDelimiterBlue',
                'RainbowDelimiterOrange',
                'RainbowDelimiterGreen',
                'RainbowDelimiterViolet',
                'RainbowDelimiterCyan',
            },
            --[[
            blacklist = {
                'c',
                'cpp',
            },
            whitelist = {
                'python',
                'javascript',
            },
            log = {
                file = '~/.local/state/lvim/rainbow-delimiters.log',
                level = vim.log.levels.DEBUG,
            },
            --]]
        }
    end
}

[Bug]: Failed to run 'config' for rainbow-delimiters.nvim in using the latest commit

Neovim version

0.9.2

Language affected

Lua

Query

No response

Strategy

No response

Description

Hi,

I have encountered an error after syncing the latest commit.
The message error: "Failed to run 'config' for rainbow—delimiters.nvim
/AppData/Local/nvim/lua/user/plugins/rainbow.lua:4: attempt to call a table value"
I think that the error is in your change in the lua/rainbow-delimiters/setup.lua
In the previous commits, your plugin has worked for me very well. Could you please check it?
Many thanks

[Bug]: for_each_child deprecated

Neovim version

0.11

Language affected

All

Query

No response

Strategy

No response

Description

as for latest main change for 0.11 nvim version `for_each_child` is deprecated

LanguageTree:for_each_child() is deprecated, use LanguageTree:children() instead. :help deprecated
This feature will be removed in Nvim version 0.11
stack traceback:
        ...c/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:461: in function 'for_each_child'
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:118: in function 'setup_parser'
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:163: in function <...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:160>
        [C]: in function 'pcall'
        ...y/rainbow-delimiters.nvim/lua/rainbow-delimiters/lib.lua:195: in function 'attach'
        ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:63: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
        [C]: in function 'nvim_cmd'
        ...llar/neovim/HEAD-9fc321c/share/nvim/runtime/filetype.lua:31: in function <...llar/neovim/HEAD-9fc321c/share/nvim/runtime/filetype.lua:30>
        [C]: in function 'nvim_buf_call'
        ...llar/neovim/HEAD-9fc321c/share/nvim/runtime/filetype.lua:30: in function <...llar/neovim/HEAD-9fc321c/share/nvim/runtime/filetype.lua:10>

[Bug]: Majoring stuttering in Zig files

Neovim version

0.9.4

Language affected

Zig

Query

rainbow-delimiters

Strategy

No response

Description

Hey, firstly thanks for the awesome plugin!
I've been having unbearably long stutters in Zig files only. Changing the strategy from global to local only made the performance hit maybe slightly worse. I have also tried disabling/blacklisting comment as suggested in #53, to no avail. The size of the file does not seem to matter either (it happens in tiny files too), and I have been unable to replicate it in any other filetype. It's strange.. like every 1-2 seconds neovim freezes entirely for a second and then resumes. I'm happy to record a video or do some debugging if it's helpful! Thanks.

[Bug]: not work for java with nvim-treesitter main branch

Neovim version

0.9.5

Language affected

java

Query

No response

Strategy

global

Description

with nvim-treesitter main branch, rainbow delimiter for java is not longer working, but if I rollback nvim-treesitter to last releases version, everything in java is work fine.
image

here's the last few line on rainbow-delimiter.log when I set vim.g.rainbow_delimiters = { log = { level = vim.log.levels.DEBUG } }

2024-05-16T22:00+0800	DEBUG	strategy.global	Setting up parser for buffer 2
2024-05-16T22:00+0800	DEBUG	strategy.global	Setting up parser for 'java' in buffer 2
2024-05-16T22:00+0800	ERROR	lib	Error attaching strategy to buffer 2: ...ed-0.9.4/share/nvim/runtime/lua/vim/treesitter/query.lua:259: query: invalid node type at position 286 for language java
2024-05-16T22:00+0800	DEBUG	strategy.global	Setting up parser for buffer 36
2024-05-16T22:00+0800	DEBUG	strategy.global	Setting up parser for 'java' in buffer 36
2024-05-16T22:00+0800	ERROR	lib	Error attaching strategy to buffer 36: ...ed-0.9.4/share/nvim/runtime/lua/vim/treesitter/query.lua:259: query: invalid node type at position 286 for language java

Cannot highlight parentheses in real-time

Neovim version

0.9.1

Language affected

scheme

Query

No response

Strategy

No response

Description

The same as [this](https://github.com/HiPhish/nvim-ts-rainbow2/issues/52)

[Bug]: Error messages keep popup and preventing me to edit file

Neovim version

NVIM v0.10.0-dev-2698+g00e71d3da

Language affected

Go

Query

No response

Strategy

No response

Description

this happens when I delete multiple matching delimiters while editing a go file. The following messages keep popping up


Error in decoration provider treesitter/highlighter.win:
Error executing lua: Vim:E1174: String required for argument 1                                                                                                                                                                                                  
stack traceback:                                                                                                                                                                                                                                                
        [C]: in function 'charidx'                                                                                                                                                                                                                              
        vim/_editor.lua: in function 'region'                                                                                                                                                                                                                   
        ...vim-macos-arm64/share/nvim/runtime/lua/vim/highlight.lua:78: in function 'range'                                                                                                                                                                     
        ...y/rainbow-delimiters.nvim/lua/rainbow-delimiters/lib.lua:111: in function 'highlight'                                                                                                                                                                
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:51: in function 'highlight_matches'                                                                                                                                                         
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:52: in function 'highlight_matches'                                                                                                                                                         
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:52: in function 'highlight_matches'                                                                                                                                                         
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:52: in function 'highlight_matches'                                                                                                                                                         
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:52: in function 'highlight_matches'                                                                                                                                                         
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:52: in function 'highlight_matches'                                                                                                                                                         
        ...limiters.nvim/lua/rainbow-delimiters/strategy/global.lua:16
Press ENTER or type command to continue          

This prevents me from interacting with vim. Anyway to put the plugin in silent mode?

[Enhancement]: Please add matlab language supoort

Neovim version

No response

Language affected

No response

Query

No response

Strategy

No response

Description

Neovim has already implemented support for the Matlab Language Server Protocol (matlab_ls). Could you please consider incorporating support for Matlab as well?

[Bug]: Error attaching strategy to buffer when open cpp file

Neovim version

0.9.1

Language affected

cpp

Query

No response

Strategy

No response

Description

I'm not sure what caused it, it's not working on CPP.

working normally on lua ft.

#include <iostream>

int main(void)
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
❯ cat rainbow-delimiters.log
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: rainbow-delimiters.log
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ 2023-08-13T10:58+0800   ERROR       Error attaching strategy to buffer 1: ...-3ce3218/share/nvim/runtime/lua
       │ /vim/treesitter/query.lua:273: query: invalid structure at position 338 for language cpp
nvim-treesitter: require("nvim-treesitter.health").check()

Installation ~
- OK `tree-sitter` found 0.20.8 (parser generator, only needed for :TSInstallFromGrammar)
- OK `node` found v20.5.1 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: Apple clang version 14.0.3 (clang-1403.0.22.14.1)
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

OS Info:
{
  machine = "arm64",
  release = "22.5.0",
  sysname = "Darwin",
  version = "Darwin Kernel Version 22.5.0: Thu Jun  8 22:22:20 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T6000"
} ~

Parser/Features         H L F I J
  - bash                ✓ ✓ ✓ . ✓
  - c                   ✓ ✓ ✓ ✓ ✓
  - cpp                 ✓ ✓ ✓ ✓ ✓
  - lua                 ✓ ✓ ✓ ✓ ✓
  - markdown            ✓ . ✓ ✓ ✓
  - markdown_inline     ✓ . . . ✓
  - query               ✓ ✓ ✓ ✓ ✓
  - regex               ✓ . . . .
  - vim                 ✓ ✓ ✓ . ✓
  - vimdoc              ✓ . . . ✓

  Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
         +) multiple parsers found, only one will be used
         x) errors found in the query, try to run :TSUpdate {lang} ~

[Bug]: Doesn't works with .tsx files

Neovim version

0.9.1

Language affected

tsx

Query

No response

Strategy

No response

Description

const GodScreen: FC = () => {
  const test = {
    a: {
      b: {
        c: {
          d: {
            e: {
              f: {
                g: {
                  h: {},
                },
              },
            },
          },
        },
      },
    },
  };

  return <></>;
};

export default GodScreen;

[Bug]: Error after update

Neovim version

0.9.4

Language affected

Any

Query

config

Strategy

No response

Description

After last update my working config return the error when nvim is started 
The config:


return {
  {
    "HiPhish/rainbow-delimiters.nvim",
    vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }),
    vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }),
    vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }),
    vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }),
    vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }),
    vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }),
    vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#36b6db" }),
    event = "VeryLazy",
    -- event = "User AstroFile",
    config = function(_, opts) require "rainbow-delimiters.setup"(opts) end,
    opts = {
      highlight = {
        "RainbowBlue",
        "RainbowGreen",
        "RainbowViolet",
        "RainbowYellow",
        "RainbowCyan",
        "RainbowRed",
        "RainbowOrange",
      },
    },
  },
}


End error to line 13

    config = function(_, opts) require "rainbow-delimiters.setup"(opts) end,

"Attempt to call a table value"

Use LanguageTree:children() instead of the deprecated LanguageTree:for_each_child()

Neovim version

$ nvim --version
NVIM v0.10.0-dev-3122+ga0a189a8e
Build type: RelWithDebInfo
LuaJIT 2.1.1713484068
Run "nvim -V1 -v" for more info

Language affected

Tested with Rust and Lua.

Description

Got this error:

LanguageTree:for_each_child() is deprecated, use LanguageTree:children() instead. :help deprecated Feature will be removed in Nvim 0.11

Astro Support

Neovim version

0.9.0

Language affected

astro

Query

No response

Strategy

No response

Description

hello.  i've been trying to set up this plugin to work on .astro files, but i can't seem to get it working.  i have it working on lua files, html files, and js files, but i can't seem to figure out how to configure it for .astro files.  i'm looking at how to write a custom query, but i'm not sure how to do it yet.  any help would be appreciated.  thanks.

[Bug]: Some comments cause neovim to slow down and freeze when present with this plugin

Neovim version

0.9.4

Language affected

Lua, vim

Query

No response

Strategy

No response

Description

Text
When opening a file with less normal commenting, this plugin seems to slow the application to a crawl and eventually completely freeze Neovim.

Comments like the following effect the application.

" """"""""""""""""" "
" This is a comment "
" """"""""""""""""" "

----------
- This is another comment
----------

[Bug]: Invalid highlighting after buffer changes from outside neovim

Neovim version

0.9.1

Language affected

No response

Query

No response

Strategy

No response

Description

When a file content changes outside of neovim the existing buffer highlights are still the same, meaning that it may highlight characters that were in a position of brackets before the change. In believe this is the same issue as HiPhish/nvim-ts-rainbow2#49 (comment) mrjones2014/nvim-ts-rainbow#9 p00f/nvim-ts-rainbow#112
I have submitted the following fix to one of the rainbow forks mrjones2014/nvim-ts-rainbow#8 I believe it should be a similar fix here.
To easily reproduce create a file called a.py with the following content:

hello
((()))

Then with another editor add a line before hello, when switching back to neovim you should see that hello has highlights.

[Bug]: Doesn't seem to work for JSX filetypes

Neovim version

0.9.1

Language affected

all I guess

Query

No response

Strategy

No response

Description

- Install [kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim)
- Add `rainbow-delimiters.nvim` to `nvim-treesitter`'s dependencies like:


 {
    -- Highlight, edit, and navigate code
    'nvim-treesitter/nvim-treesitter',
    dependencies = {
      'nvim-treesitter/nvim-treesitter-textobjects',
      'HiPhish/rainbow-delimiters.nvim'
    },
    build = ':TSUpdate',
  },

- See if it works ... which it doesn't in my case

The health checks also says:

`- ERROR The healthcheck report for "rainbow-delimiters" plugin is empty.`

[Bug]: not all brackets are colorized in java

Neovim version

v0.10.0-dev-2034+g6635ec113f

Language affected

java

Query

No response

Strategy

No response

Description

I wasn't able to find any information about this hence i ask. 
Any reason why `if_statement` and `for_statement` are not included inside the java query?
Or maybe it's just expected behavior?

my config

local M = {
    "HiPhish/rainbow-delimiters.nvim",
    event = "BufEnter",
    enabled = true,
}

M.config = function()
    local rainbow = require("rainbow-delimiters")

    vim.cmd("highlight RainbowDelimiterRed guifg=#ffd700")
    vim.cmd("highlight RainbowDelimiterYellow guifg=#da70d6")
    vim.cmd("highlight RainbowDelimiterBlue guifg=#179fff")

    vim.g.rainbow_delimiters = {
        strategy = {
            [""] = rainbow.strategy["global"],
            vim = rainbow.strategy["local"],
        },
        query = {
            [""] = "rainbow-delimiters",
            lua = "rainbow-blocks",
        },
        highlight = {
            "RainbowDelimiterRed",
            "RainbowDelimiterYellow",
            "RainbowDelimiterBlue",
        },
    }
end

return M

[Enhancement] Set a non-empty namespace or improve the docs

It would be easier to capture the highlight colors used by rainbow-decimeters, if it used a namespace other than "". E.g., "rainbow_delimeters" would allow one to get the namespace id via vim.api.nvim_get_namespaces()["rainbow_delimeters"], which doesn't seem to work with the empty string.

I skimmed the code in this repository and found this:
https://github.com/HiPhish/rainbow-delimiters.nvim/blob/652345bd1aa333f60c9cbb1259f77155786e5514/test/highlight/highlight_spec.lua#L160C1-L160C1

but can't see where rainbow_ns is defined and this is the only thing that shows up in the code when you search for it.

There is also this: https://github.com/HiPhish/rainbow-delimiters.nvim/blob/652345bd1aa333f60c9cbb1259f77155786e5514/lua/rainbow-delimiters/lib.lua#L37C1-L51C3

where it says something about per language namespaces, but I think it is just per language namespace ids? When I use vim.inspect_pos to actually inspect an element highlighted by rainbow-delimeters, it tells me that the namespace is "".

I think I might be missing some easier way to get the namespace ids, but that is what I recommend to clarify in the docs if that is so.

[Bug]: delimiters only colored on startup

Neovim version

0.9.1

Language affected

Lua

Query

No response

Strategy

No response

Description

When I open nvim, I see all delimiters colored as expected. However as soon as I type something, the delimiters are not colored automatically. Here's a screenshare of how that looks:

Bildschirmaufnahme.2023-07-11.um.16.11.08.mov

You can find where I configure rainbow-delimiters here: https://github.com/tim-hilt/nvim/blob/29956421878f559581c3c6509b43810c12d97582/init.lua#L74-L76

I basically use the default configuration.

[Bug]: Bad performance for big files, even with noop

Neovim version

0.9.5

Language affected

markdown (may apply to others)

Query

No response

Strategy

global and noop

Description

When opening a big file, for example https://raw.githubusercontent.com/neovim/nvim-lspconfig/master/doc/server_configurations.md, one CPU core maxes out for a few seconds, freezing neovim.

With default settings, only treesitter and this plugin, it takes 12 seconds to load the file.

config

require 'rainbow-delimiters.setup'.setup {
}

startuptime

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.021 000.021: --- NVIM STARTING ---
000.322 000.301: event init
000.447 000.125: early init
000.536 000.089: locale set
000.608 000.071: init first window
001.073 000.466: inits 1
001.104 000.031: window checked
001.173 000.070: parsing arguments
001.881 000.080 000.080: require('vim.shared')
002.065 000.069 000.069: require('vim._options')
002.068 000.181 000.112: require('vim._editor')
002.070 000.325 000.065: require('vim._init_packages')
002.072 000.573: init lua interpreter
002.227 000.155: expanding arguments
002.296 000.069: inits 2
002.688 000.392: init highlight
002.690 000.002: waiting for UI
003.198 000.508: done waiting for UI
003.219 000.021: clear screen
003.434 000.216: init default mappings & autocommands
003.622 000.187: --cmd commands
020.924 000.089 000.089: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin.vim
023.303 000.064 000.064: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/indent.vim
026.653 000.129 000.129: require('vim.treesitter.language')
026.664 000.654 000.525: require('vim.treesitter.query')
026.794 000.128 000.128: require('vim.treesitter._range')
026.801 001.407 000.624: require('vim.treesitter.languagetree')
026.806 003.087 001.681: require('vim.treesitter')
026.967 000.080 000.080: require('rainbow-delimiters.config')
026.972 000.164 000.084: require('rainbow-delimiters.log')
027.019 000.045 000.045: require('rainbow-delimiters.util')
027.024 003.494 000.198: require('rainbow-delimiters.lib')
027.274 000.081 000.081: require('rainbow-delimiters.stack')
027.281 000.256 000.175: require('rainbow-delimiters.strategy.global')
027.490 000.207 000.207: require('rainbow-delimiters.strategy.local')
027.537 000.045 000.045: require('rainbow-delimiters.strategy.no-op')
027.539 004.138 000.137: require('rainbow-delimiters')
027.591 000.050 000.050: require('rainbow-delimiters.setup')
027.602 004.252 000.064: sourcing minimal-default.lua
027.607 019.580: sourcing vimrc file(s)
036.802 005.614 005.614: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/filetype.lua
039.499 000.153 000.153: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/synload.vim
039.695 002.816 002.663: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/syntax.vim
049.825 000.444 000.444: sourcing /home/gep/.nix-profile/share/nvim/site/plugin/fzf.vim
050.464 000.137 000.137: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/gzip.vim
050.506 000.013 000.013: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/health.vim
051.569 000.155 000.155: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
051.875 001.345 001.190: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchit.vim
052.017 000.116 000.116: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchparen.vim
052.322 000.277 000.277: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/netrwPlugin.vim
052.513 000.023 000.023: sourcing /nix/store/bblz641skyv682mpdqa50h6j6blqw0hz-neovim-0.9.5/rplugin.vim
052.682 000.301 000.278: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/rplugin.vim
052.777 000.057 000.057: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/shada.vim
052.856 000.024 000.024: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/spellfile.vim
053.087 000.111 000.111: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tarPlugin.vim
053.214 000.084 000.084: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tohtml.vim
053.265 000.016 000.016: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tutor.vim
053.426 000.129 000.129: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/zipPlugin.vim
054.205 000.082 000.082: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/editorconfig.lua
054.318 000.076 000.076: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/man.lua
054.401 000.047 000.047: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/nvim.lua
054.427 015.131: loading rtp plugins
079.763 000.223 000.223: require('nvim-treesitter.utils')
081.648 001.878 001.878: require('nvim-treesitter.parsers')
082.469 000.049 000.049: require('nvim-treesitter.compat')
082.878 000.279 000.279: require('nvim-treesitter.ts_utils')
082.884 000.412 000.133: require('nvim-treesitter.tsrange')
082.948 000.062 000.062: require('nvim-treesitter.caching')
082.958 000.828 000.305: require('nvim-treesitter.query')
082.974 001.172 000.344: require('nvim-treesitter.configs')
082.976 001.325 000.153: require('nvim-treesitter.info')
083.185 000.207 000.207: require('nvim-treesitter.shell_command_selectors')
083.211 004.276 000.643: require('nvim-treesitter.install')
083.275 000.062 000.062: require('nvim-treesitter.statusline')
083.425 000.148 000.148: require('nvim-treesitter.query_predicates')
083.428 021.631 017.145: require('nvim-treesitter')
083.720 021.981 000.351: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/nvim-treesitter/plugin/nvim-treesitter.lua
084.083 000.086 000.086: require('rainbow-delimiters.default')
084.131 000.223 000.138: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua
096.038 019.407: loading packages
096.052 000.013: loading after plugins
096.067 000.015: inits 3
099.512 003.445: reading ShaDa
105.803 002.560 002.560: require('vim.filetype')
131.851 000.216 000.216: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/autoload/htmlcomplete.vim
131.995 002.443 002.227: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/html.vim
132.307 009.939 007.496: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/markdown.vim
146.979 000.172 000.172: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/dtd.vim
147.042 000.554 000.382: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/xml.vim
149.831 000.284 000.284: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/javascript.vim
152.468 000.699 000.699: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/vb.vim
159.730 004.889 004.889: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/css.vim
160.766 016.573 010.147: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/html.vim
163.863 000.663 000.663: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/yaml.vim
163.941 021.783 004.547: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/markdown.vim
282.024 002.790 002.790: require('vim.filetype.detect')
1007.827 000.013 000.013: require('vim.F')
1008.134 000.300 000.300: require('editorconfig')
1008.164 000.026 000.026: require('vim.fs')
1008.523 871.599: opening buffers
1008.557 000.034: BufEnter autocommands
1008.559 000.002: editing files in windows
1008.697 000.138: VimEnter autocommands
1008.699 000.002: UIEnter autocommands
1008.701 000.001: before starting main loop
1016.056 007.355: first screen update
1016.059 000.003: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.030 000.030: --- NVIM STARTING ---
000.485 000.454: event init
000.724 000.239: early init
000.880 000.156: locale set
000.988 000.108: init first window
001.708 000.720: inits 1
001.729 000.021: window checked
001.807 000.078: parsing arguments
002.692 000.097 000.097: require('vim.shared')
003.071 000.082 000.082: require('vim._options')
003.075 000.375 000.293: require('vim._editor')
003.077 000.579 000.107: require('vim._init_packages')
003.080 000.693: init lua interpreter
004.400 001.320: expanding arguments
004.560 000.160: inits 2
005.096 000.536: init highlight

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.017 000.017: --- NVIM STARTING ---
000.275 000.258: event init
000.402 000.127: early init
000.500 000.098: locale set
000.563 000.063: init first window
001.031 000.468: inits 1
001.062 000.031: window checked
001.132 000.070: parsing arguments
001.808 000.079 000.079: require('vim.shared')
002.081 000.067 000.067: require('vim._options')
002.084 000.271 000.203: require('vim._editor')
002.086 000.386 000.037: require('vim._init_packages')
002.089 000.570: init lua interpreter
002.243 000.155: expanding arguments
002.314 000.071: inits 2
002.704 000.390: init highlight
002.706 000.002: waiting for UI
003.155 000.449: done waiting for UI
003.175 000.020: clear screen
003.372 000.197: init default mappings & autocommands
003.539 000.167: --cmd commands
019.741 000.068 000.068: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin.vim
021.708 000.028 000.028: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/indent.vim
024.584 000.192 000.192: require('vim.treesitter.language')
024.601 000.619 000.428: require('vim.treesitter.query')
024.812 000.210 000.210: require('vim.treesitter._range')
024.839 001.365 000.536: require('vim.treesitter.languagetree')
024.852 002.813 001.448: require('vim.treesitter')
025.048 000.099 000.099: require('rainbow-delimiters.config')
025.055 000.200 000.101: require('rainbow-delimiters.log')
025.112 000.056 000.056: require('rainbow-delimiters.util')
025.117 003.236 000.167: require('rainbow-delimiters.lib')
025.438 000.102 000.102: require('rainbow-delimiters.stack')
025.448 000.327 000.225: require('rainbow-delimiters.strategy.global')
025.769 000.319 000.319: require('rainbow-delimiters.strategy.local')
025.873 000.101 000.101: require('rainbow-delimiters.strategy.no-op')
025.876 004.101 000.117: require('rainbow-delimiters')
025.994 000.117 000.117: require('rainbow-delimiters.setup')
026.019 004.283 000.066: sourcing minimal-default.lua
026.042 018.123: sourcing vimrc file(s)
035.605 005.433 005.433: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/filetype.lua
037.749 000.089 000.089: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/synload.vim
037.835 002.170 002.081: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/syntax.vim
048.767 000.473 000.473: sourcing /home/gep/.nix-profile/share/nvim/site/plugin/fzf.vim
049.377 000.136 000.136: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/gzip.vim
049.419 000.013 000.013: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/health.vim
050.796 000.156 000.156: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
051.028 001.549 001.393: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchit.vim
051.173 000.118 000.118: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchparen.vim
051.511 000.310 000.310: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/netrwPlugin.vim
051.668 000.009 000.009: sourcing /nix/store/bblz641skyv682mpdqa50h6j6blqw0hz-neovim-0.9.5/rplugin.vim
051.814 000.247 000.238: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/rplugin.vim
051.903 000.054 000.054: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/shada.vim
051.961 000.021 000.021: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/spellfile.vim
052.145 000.117 000.117: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tarPlugin.vim
052.252 000.067 000.067: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tohtml.vim
052.300 000.015 000.015: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tutor.vim
052.489 000.158 000.158: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/zipPlugin.vim
053.198 000.079 000.079: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/editorconfig.lua
053.316 000.082 000.082: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/man.lua
053.395 000.045 000.045: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/nvim.lua
053.420 016.293: loading rtp plugins
079.098 000.154 000.154: require('nvim-treesitter.utils')
081.160 002.056 002.056: require('nvim-treesitter.parsers')
082.164 000.104 000.104: require('nvim-treesitter.compat')
082.587 000.264 000.264: require('nvim-treesitter.ts_utils')
082.593 000.425 000.161: require('nvim-treesitter.tsrange')
082.653 000.058 000.058: require('nvim-treesitter.caching')
082.670 000.985 000.398: require('nvim-treesitter.query')
082.685 001.373 000.388: require('nvim-treesitter.configs')
082.687 001.523 000.150: require('nvim-treesitter.info')
083.029 000.340 000.340: require('nvim-treesitter.shell_command_selectors')
083.056 004.677 000.604: require('nvim-treesitter.install')
083.120 000.062 000.062: require('nvim-treesitter.statusline')
083.269 000.146 000.146: require('nvim-treesitter.query_predicates')
083.274 022.657 017.772: require('nvim-treesitter')
083.597 023.045 000.388: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/nvim-treesitter/plugin/nvim-treesitter.lua
083.945 000.080 000.080: require('rainbow-delimiters.default')
083.986 000.195 000.116: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua
096.133 019.472: loading packages
096.146 000.013: loading after plugins
096.160 000.015: inits 3
099.942 003.782: reading ShaDa
104.781 001.630 001.630: require('vim.filetype')
132.005 000.267 000.267: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/autoload/htmlcomplete.vim
132.191 003.050 002.783: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/html.vim
132.545 011.450 008.401: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/markdown.vim
147.000 000.268 000.268: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/dtd.vim
147.132 000.762 000.494: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/xml.vim
150.089 000.273 000.273: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/javascript.vim
152.937 000.836 000.836: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/vb.vim
159.137 004.330 004.330: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/css.vim
160.535 016.509 010.307: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/html.vim
164.098 000.700 000.700: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/yaml.vim
164.178 022.656 005.447: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/markdown.vim
281.657 002.502 002.502: require('vim.filetype.detect')
1000.623 000.009 000.009: require('vim.F')
1000.882 000.250 000.250: require('editorconfig')
1000.906 000.020 000.020: require('vim.fs')
1001.291 862.832: opening buffers
1001.310 000.019: BufEnter autocommands
1001.312 000.002: editing files in windows
1001.398 000.086: VimEnter autocommands
1001.401 000.002: UIEnter autocommands
1001.402 000.001: before starting main loop
1009.540 008.139: first screen update
1009.548 000.008: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.021 000.021: --- NVIM STARTING ---
000.291 000.271: event init
000.424 000.132: early init
000.513 000.090: locale set
000.589 000.076: init first window
001.114 000.525: inits 1
001.132 000.018: window checked
001.194 000.062: parsing arguments
001.865 000.076 000.076: require('vim.shared')
002.139 000.064 000.064: require('vim._options')
002.142 000.271 000.206: require('vim._editor')
002.143 000.387 000.040: require('vim._init_packages')
002.146 000.565: init lua interpreter
003.210 001.064: expanding arguments
003.320 000.110: inits 2
003.771 000.451: init highlight

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.020 000.020: --- NVIM STARTING ---
000.314 000.294: event init
000.458 000.143: early init
000.569 000.111: locale set
000.650 000.081: init first window
001.151 000.501: inits 1
001.187 000.036: window checked
001.264 000.077: parsing arguments
002.009 000.083 000.083: require('vim.shared')
002.200 000.072 000.072: require('vim._options')
002.203 000.189 000.117: require('vim._editor')
002.205 000.337 000.066: require('vim._init_packages')
002.208 000.607: init lua interpreter
002.380 000.173: expanding arguments
002.454 000.074: inits 2
002.993 000.539: init highlight
002.997 000.004: waiting for UI
003.495 000.498: done waiting for UI
003.515 000.021: clear screen
003.726 000.211: init default mappings & autocommands
003.880 000.154: --cmd commands
019.809 000.114 000.114: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin.vim
022.245 000.050 000.050: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/indent.vim
022.399 000.084 000.084: require('rainbow-delimiters.setup')
022.407 000.126 000.042: sourcing minimal-default.lua
022.411 018.241: sourcing vimrc file(s)
031.913 005.463 005.463: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/filetype.lua
034.312 000.120 000.120: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/synload.vim
034.419 002.429 002.309: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/syntax.vim
045.474 000.439 000.439: sourcing /home/gep/.nix-profile/share/nvim/site/plugin/fzf.vim
046.176 000.136 000.136: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/gzip.vim
046.216 000.010 000.010: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/health.vim
047.372 000.158 000.158: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
047.647 001.406 001.248: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchit.vim
047.797 000.122 000.122: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchparen.vim
048.162 000.338 000.338: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/netrwPlugin.vim
048.341 000.009 000.009: sourcing /nix/store/bblz641skyv682mpdqa50h6j6blqw0hz-neovim-0.9.5/rplugin.vim
048.489 000.249 000.240: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/rplugin.vim
048.630 000.105 000.105: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/shada.vim
048.690 000.022 000.022: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/spellfile.vim
048.812 000.088 000.088: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tarPlugin.vim
048.924 000.068 000.068: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tohtml.vim
048.986 000.016 000.016: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tutor.vim
049.162 000.131 000.131: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/zipPlugin.vim
050.071 000.089 000.089: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/editorconfig.lua
050.183 000.078 000.078: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/man.lua
050.265 000.051 000.051: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/nvim.lua
050.334 016.683: loading rtp plugins
076.045 000.165 000.165: require('nvim-treesitter.utils')
079.702 000.166 000.166: require('vim.treesitter.language')
079.713 000.599 000.432: require('vim.treesitter.query')
079.871 000.157 000.157: require('vim.treesitter._range')
079.882 001.437 000.682: require('vim.treesitter.languagetree')
079.888 002.869 001.432: require('vim.treesitter')
080.930 004.879 002.010: require('nvim-treesitter.parsers')
081.745 000.050 000.050: require('nvim-treesitter.compat')
082.144 000.270 000.270: require('nvim-treesitter.ts_utils')
082.150 000.402 000.132: require('nvim-treesitter.tsrange')
082.215 000.064 000.064: require('nvim-treesitter.caching')
082.226 000.822 000.306: require('nvim-treesitter.query')
082.240 001.156 000.335: require('nvim-treesitter.configs')
082.244 001.311 000.155: require('nvim-treesitter.info')
082.486 000.240 000.240: require('nvim-treesitter.shell_command_selectors')
082.531 007.308 000.712: require('nvim-treesitter.install')
082.650 000.117 000.117: require('nvim-treesitter.statusline')
082.802 000.150 000.150: require('nvim-treesitter.query_predicates')
082.805 024.901 017.327: require('nvim-treesitter')
083.111 025.280 000.379: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/nvim-treesitter/plugin/nvim-treesitter.lua
083.634 000.143 000.143: require('rainbow-delimiters.config')
083.726 000.089 000.089: require('rainbow-delimiters.log')
083.925 000.049 000.049: require('rainbow-delimiters.util')
083.930 000.202 000.153: require('rainbow-delimiters.lib')
084.303 000.083 000.083: require('rainbow-delimiters.stack')
084.308 000.282 000.199: require('rainbow-delimiters.strategy.global')
084.322 000.387 000.105: require('rainbow-delimiters.default')
084.384 001.030 000.210: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua
096.404 019.759: loading packages
096.417 000.014: loading after plugins
096.432 000.015: inits 3
099.979 003.546: reading ShaDa
105.581 001.963 001.963: require('vim.filetype')
131.912 000.218 000.218: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/autoload/htmlcomplete.vim
132.053 002.381 002.163: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/html.vim
132.360 009.889 007.507: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/markdown.vim
146.421 000.212 000.212: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/dtd.vim
146.512 000.575 000.364: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/xml.vim
149.781 000.367 000.367: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/javascript.vim
152.994 000.859 000.859: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/vb.vim
160.044 004.606 004.606: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/css.vim
161.126 017.026 010.619: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/html.vim
164.347 000.659 000.659: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/yaml.vim
164.425 022.291 004.606: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/markdown.vim
280.837 001.388 001.388: require('vim.filetype.detect')
1096.860 000.143 000.143: require('vim.inspect')
1135.684 000.345 000.345: require('vim.highlight')
12020.747 000.011 000.011: require('vim.F')
12021.027 000.271 000.271: require('editorconfig')
12021.086 000.024 000.024: require('vim.fs')
12021.436 11885.132: opening buffers
12021.455 000.019: BufEnter autocommands
12021.457 000.002: editing files in windows
12021.570 000.113: VimEnter autocommands
12021.585 000.015: UIEnter autocommands
12021.586 000.001: before starting main loop
12028.861 007.275: first screen update
12028.864 000.003: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.023 000.023: --- NVIM STARTING ---
000.347 000.324: event init
000.508 000.161: early init
000.620 000.113: locale set
000.697 000.077: init first window
001.418 000.721: inits 1
001.439 000.021: window checked
001.517 000.077: parsing arguments
002.422 000.140 000.140: require('vim.shared')
002.657 000.084 000.084: require('vim._options')
002.660 000.230 000.146: require('vim._editor')
002.662 000.424 000.054: require('vim._init_packages')
002.666 000.725: init lua interpreter
003.992 001.327: expanding arguments
004.125 000.133: inits 2
004.657 000.532: init highlight

After disabling markdown files with noop, the startuptime has improved to 1012ms

config
local rainbow = require 'rainbow-delimiters'
require 'rainbow-delimiters.setup'.setup {
  strategy = {
    markdown = rainbow.strategy.noop,
  },
}
startuptime

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.012 000.012: --- NVIM STARTING ---
000.251 000.239: event init
000.344 000.093: early init
000.410 000.066: locale set
000.468 000.058: init first window
000.813 000.344: inits 1
000.835 000.023: window checked
000.887 000.052: parsing arguments
001.455 000.082 000.082: require('vim.shared')
001.590 000.050 000.050: require('vim._options')
001.592 000.132 000.082: require('vim._editor')
001.593 000.242 000.028: require('vim._init_packages')
001.595 000.466: init lua interpreter
001.706 000.111: expanding arguments
001.777 000.071: inits 2
002.058 000.281: init highlight
002.059 000.001: waiting for UI
002.386 000.327: done waiting for UI
002.400 000.014: clear screen
002.541 000.141: init default mappings & autocommands
002.645 000.104: --cmd commands
015.863 000.063 000.063: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin.vim
017.706 000.029 000.029: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/indent.vim
020.923 000.133 000.133: require('vim.treesitter.language')
020.937 000.794 000.661: require('vim.treesitter.query')
021.184 000.245 000.245: require('vim.treesitter._range')
021.207 001.700 000.660: require('vim.treesitter.languagetree')
021.224 003.192 001.492: require('vim.treesitter')
021.398 000.083 000.083: require('rainbow-delimiters.config')
021.404 000.178 000.094: require('rainbow-delimiters.log')
021.452 000.047 000.047: require('rainbow-delimiters.util')
021.456 003.582 000.166: require('rainbow-delimiters.lib')
021.699 000.075 000.075: require('rainbow-delimiters.stack')
021.703 000.245 000.170: require('rainbow-delimiters.strategy.global')
021.899 000.194 000.194: require('rainbow-delimiters.strategy.local')
021.944 000.043 000.043: require('rainbow-delimiters.strategy.no-op')
021.946 004.177 000.113: require('rainbow-delimiters')
021.990 000.042 000.042: require('rainbow-delimiters.setup')
022.000 004.262 000.043: sourcing minimal-markdown-noop.lua
022.005 015.005: sourcing vimrc file(s)
031.950 006.288 006.288: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/filetype.lua
034.227 000.091 000.091: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/synload.vim
034.316 002.293 002.202: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/syntax.vim
045.500 000.501 000.501: sourcing /home/gep/.nix-profile/share/nvim/site/plugin/fzf.vim
046.402 000.178 000.178: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/gzip.vim
046.451 000.014 000.014: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/health.vim
047.787 000.163 000.163: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
048.021 001.545 001.382: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchit.vim
048.200 000.133 000.133: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchparen.vim
048.509 000.282 000.282: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/netrwPlugin.vim
048.675 000.009 000.009: sourcing /nix/store/bblz641skyv682mpdqa50h6j6blqw0hz-neovim-0.9.5/rplugin.vim
048.826 000.254 000.245: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/rplugin.vim
048.918 000.055 000.055: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/shada.vim
048.977 000.021 000.021: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/spellfile.vim
049.183 000.121 000.121: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tarPlugin.vim
049.292 000.068 000.068: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tohtml.vim
049.342 000.015 000.015: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tutor.vim
049.503 000.130 000.130: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/zipPlugin.vim
050.226 000.064 000.064: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/editorconfig.lua
050.324 000.064 000.064: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/man.lua
050.400 000.045 000.045: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/nvim.lua
050.424 016.347: loading rtp plugins
075.621 000.263 000.263: require('nvim-treesitter.utils')
077.941 002.314 002.314: require('nvim-treesitter.parsers')
078.817 000.056 000.056: require('nvim-treesitter.compat')
079.406 000.449 000.449: require('nvim-treesitter.ts_utils')
079.414 000.592 000.144: require('nvim-treesitter.tsrange')
079.489 000.072 000.072: require('nvim-treesitter.caching')
079.504 001.015 000.294: require('nvim-treesitter.query')
079.555 001.414 000.399: require('nvim-treesitter.configs')
079.563 001.615 000.201: require('nvim-treesitter.info')
079.833 000.268 000.268: require('nvim-treesitter.shell_command_selectors')
079.874 005.133 000.673: require('nvim-treesitter.install')
079.961 000.085 000.085: require('nvim-treesitter.statusline')
080.163 000.199 000.199: require('nvim-treesitter.query_predicates')
080.167 023.149 017.733: require('nvim-treesitter')
080.638 023.663 000.513: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/nvim-treesitter/plugin/nvim-treesitter.lua
081.011 000.085 000.085: require('rainbow-delimiters.default')
081.061 000.220 000.135: sourcing /nix/store/rjipxwpkdlc6yz6ss9ycc0sv9fxl5fhl-packdir-start/pack/myNeovimPackages/start/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua
092.084 017.777: loading packages
092.096 000.012: loading after plugins
092.111 000.015: inits 3
096.411 004.300: reading ShaDa
101.722 001.654 001.654: require('vim.filetype')
128.899 000.322 000.322: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/autoload/htmlcomplete.vim
129.187 003.142 002.820: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/html.vim
129.575 011.573 008.431: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/markdown.vim
143.331 000.180 000.180: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/dtd.vim
143.399 000.598 000.419: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/xml.vim
146.992 000.366 000.366: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/javascript.vim
149.844 000.720 000.720: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/vb.vim
156.857 005.031 005.031: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/css.vim
157.909 017.086 010.370: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/html.vim
161.531 000.796 000.796: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/yaml.vim
161.634 022.886 005.004: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/markdown.vim
280.163 002.789 002.789: require('vim.filetype.detect')
1004.164 000.011 000.011: require('vim.F')
1004.466 000.295 000.295: require('editorconfig')
1004.503 000.032 000.032: require('vim.fs')
1004.870 869.219: opening buffers
1004.889 000.019: BufEnter autocommands
1004.891 000.002: editing files in windows
1004.981 000.090: VimEnter autocommands
1004.983 000.002: UIEnter autocommands
1004.985 000.002: before starting main loop
1012.561 007.577: first screen update
1012.584 000.022: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.015 000.015: --- NVIM STARTING ---
000.253 000.239: event init
000.382 000.129: early init
000.458 000.076: locale set
000.513 000.055: init first window
001.015 000.501: inits 1
001.033 000.019: window checked
001.093 000.059: parsing arguments
001.750 000.069 000.069: require('vim.shared')
001.912 000.059 000.059: require('vim._options')
001.914 000.159 000.101: require('vim._editor')
001.916 000.285 000.057: require('vim._init_packages')
001.919 000.541: init lua interpreter
002.943 001.025: expanding arguments
003.034 000.091: inits 2
003.407 000.372: init highlight

And after uninstalling this plugin (so this run only includes treesitter), startuptime is back to a normal 180ms

startuptime

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.014 000.014: --- NVIM STARTING ---
000.226 000.212: event init
000.332 000.105: early init
000.407 000.075: locale set
000.459 000.052: init first window
000.870 000.411: inits 1
000.907 000.037: window checked
000.968 000.061: parsing arguments
001.570 000.098 000.098: require('vim.shared')
001.732 000.058 000.058: require('vim._options')
001.734 000.160 000.102: require('vim._editor')
001.736 000.290 000.032: require('vim._init_packages')
001.738 000.480: init lua interpreter
001.868 000.130: expanding arguments
001.937 000.069: inits 2
002.256 000.319: init highlight
002.257 000.001: waiting for UI
002.649 000.392: done waiting for UI
002.672 000.023: clear screen
002.834 000.162: init default mappings & autocommands
002.965 000.131: --cmd commands
015.725 000.064 000.064: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin.vim
017.546 000.030 000.030: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/indent.vim
019.769 001.991 001.991: sourcing /home/gep/.config/nvim/init.lua
019.782 014.732: sourcing vimrc file(s)
030.070 005.297 005.297: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/filetype.lua
032.080 000.083 000.083: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/synload.vim
032.164 002.033 001.950: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/syntax.vim
043.018 000.585 000.585: sourcing /home/gep/.nix-profile/share/nvim/site/plugin/fzf.vim
043.610 000.136 000.136: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/gzip.vim
043.648 000.010 000.010: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/health.vim
044.831 000.184 000.184: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
045.066 001.369 001.186: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchit.vim
045.206 000.113 000.113: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchparen.vim
045.503 000.271 000.271: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/netrwPlugin.vim
045.671 000.016 000.016: sourcing /nix/store/nqyh481zmisnl4dqd747skz8kacv74r4-neovim-0.9.5/rplugin.vim
045.800 000.235 000.219: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/rplugin.vim
045.882 000.049 000.049: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/shada.vim
045.950 000.021 000.021: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/spellfile.vim
046.068 000.086 000.086: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tarPlugin.vim
046.182 000.069 000.069: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tohtml.vim
046.229 000.015 000.015: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tutor.vim
046.384 000.125 000.125: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/zipPlugin.vim
047.095 000.060 000.060: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/editorconfig.lua
047.191 000.066 000.066: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/man.lua
047.268 000.044 000.044: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/nvim.lua
047.320 016.953: loading rtp plugins
073.451 000.216 000.216: require('nvim-treesitter.utils')
077.313 000.170 000.170: require('vim.treesitter.language')
077.331 000.725 000.555: require('vim.treesitter.query')
077.486 000.154 000.154: require('vim.treesitter._range')
077.499 001.372 000.494: require('vim.treesitter.languagetree')
077.522 002.930 001.558: require('vim.treesitter')
078.711 005.254 002.323: require('nvim-treesitter.parsers')
079.510 000.059 000.059: require('nvim-treesitter.compat')
079.977 000.349 000.349: require('nvim-treesitter.ts_utils')
079.983 000.470 000.121: require('nvim-treesitter.tsrange')
080.042 000.058 000.058: require('nvim-treesitter.caching')
080.051 000.833 000.247: require('nvim-treesitter.query')
080.060 001.140 000.306: require('nvim-treesitter.configs')
080.063 001.349 000.209: require('nvim-treesitter.info')
080.284 000.219 000.219: require('nvim-treesitter.shell_command_selectors')
080.312 008.147 001.110: require('nvim-treesitter.install')
080.380 000.065 000.065: require('nvim-treesitter.statusline')
080.531 000.149 000.149: require('nvim-treesitter.query_predicates')
080.534 026.693 018.332: require('nvim-treesitter')
080.861 027.068 000.374: sourcing /nix/store/cwfmwrkizzjgrzp4ilijnn7p9axg8a4j-packdir-start/pack/myNeovimPackages/start/nvim-treesitter/plugin/nvim-treesitter.lua
092.466 018.078: loading packages
092.480 000.014: loading after plugins
092.495 000.015: inits 3
096.142 003.647: reading ShaDa
101.080 001.635 001.635: require('vim.filetype')
128.799 000.275 000.275: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/autoload/htmlcomplete.vim
128.984 002.913 002.639: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/html.vim
129.353 011.524 008.611: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/markdown.vim
144.925 000.193 000.193: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/dtd.vim
145.001 000.599 000.406: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/xml.vim
148.070 000.321 000.321: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/javascript.vim
150.948 000.750 000.750: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/vb.vim
157.998 004.701 004.701: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/css.vim
159.149 017.183 010.812: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/html.vim
162.494 000.624 000.624: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/yaml.vim
162.575 023.162 005.355: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/markdown.vim
167.459 000.031 000.031: require('vim.F')
167.867 000.400 000.400: require('editorconfig')
167.966 000.094 000.094: require('vim.fs')
168.568 035.581: opening buffers
168.588 000.020: BufEnter autocommands
168.590 000.002: editing files in windows
168.702 000.112: VimEnter autocommands
168.705 000.003: UIEnter autocommands
168.706 000.002: before starting main loop
3190.402 3021.695: first screen update
3190.412 000.011: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.017 000.017: --- NVIM STARTING ---
000.284 000.267: event init
000.458 000.174: early init
000.552 000.094: locale set
000.616 000.064: init first window
001.138 000.522: inits 1
001.155 000.017: window checked
001.216 000.062: parsing arguments
001.927 000.111 000.111: require('vim.shared')
002.132 000.079 000.079: require('vim._options')
002.135 000.200 000.121: require('vim._editor')
002.137 000.351 000.041: require('vim._init_packages')
002.139 000.572: init lua interpreter
003.203 001.064: expanding arguments
003.310 000.108: inits 2
003.677 000.366: init highlight

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.013 000.013: --- NVIM STARTING ---
000.339 000.326: event init
000.435 000.097: early init
000.505 000.070: locale set
000.556 000.051: init first window
000.904 000.348: inits 1
000.927 000.023: window checked
000.980 000.053: parsing arguments
001.481 000.058 000.058: require('vim.shared')
001.679 000.050 000.050: require('vim._options')
001.681 000.196 000.146: require('vim._editor')
001.682 000.285 000.032: require('vim._init_packages')
001.684 000.419: init lua interpreter
001.815 000.131: expanding arguments
001.869 000.053: inits 2
002.259 000.390: init highlight
002.260 000.002: waiting for UI
002.643 000.383: done waiting for UI
002.658 000.015: clear screen
002.819 000.162: init default mappings & autocommands
002.932 000.113: --cmd commands
002.934 000.002: sourcing vimrc file(s)
002.947 000.013: inits 3
007.290 004.343: reading ShaDa
010.401 003.111: opening buffers
010.405 000.004: BufEnter autocommands
010.406 000.002: editing files in windows
010.410 000.004: VimEnter autocommands
010.412 000.002: UIEnter autocommands
010.414 000.001: before starting main loop
010.871 000.457: first screen update
010.873 000.002: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.014 000.014: --- NVIM STARTING ---
000.238 000.223: event init
000.345 000.108: early init
000.418 000.073: locale set
000.471 000.053: init first window
000.907 000.436: inits 1
000.921 000.014: window checked
000.973 000.052: parsing arguments
001.534 000.061 000.061: require('vim.shared')
001.764 000.055 000.055: require('vim._options')
001.766 000.228 000.173: require('vim._editor')
001.768 000.324 000.036: require('vim._init_packages')
001.770 000.473: init lua interpreter
002.621 000.850: expanding arguments
002.708 000.088: inits 2
003.042 000.333: init highlight

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.014 000.014: --- NVIM STARTING ---
000.306 000.292: event init
000.485 000.180: early init
000.588 000.102: locale set
000.651 000.063: init first window
000.998 000.347: inits 1
001.023 000.025: window checked
001.075 000.052: parsing arguments
001.857 000.070 000.070: require('vim.shared')
001.980 000.044 000.044: require('vim._options')
001.982 000.119 000.075: require('vim._editor')
001.983 000.216 000.027: require('vim._init_packages')
001.985 000.694: init lua interpreter
002.102 000.117: expanding arguments
002.147 000.045: inits 2
002.389 000.241: init highlight
002.390 000.001: waiting for UI
002.876 000.486: done waiting for UI
002.889 000.013: clear screen
003.034 000.145: init default mappings & autocommands
003.130 000.096: --cmd commands
003.132 000.002: sourcing vimrc file(s)
003.143 000.011: inits 3
006.845 003.702: reading ShaDa
010.185 003.340: opening buffers
010.189 000.004: BufEnter autocommands
010.191 000.002: editing files in windows
010.195 000.004: VimEnter autocommands
010.197 000.002: UIEnter autocommands
010.198 000.001: before starting main loop
010.688 000.489: first screen update
010.690 000.002: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.011 000.011: --- NVIM STARTING ---
000.177 000.166: event init
000.264 000.087: early init
000.322 000.058: locale set
000.363 000.042: init first window
000.815 000.451: inits 1
000.826 000.011: window checked
000.867 000.042: parsing arguments
001.324 000.059 000.059: require('vim.shared')
001.441 000.042 000.042: require('vim._options')
001.443 000.116 000.074: require('vim._editor')
001.444 000.221 000.046: require('vim._init_packages')
001.446 000.357: init lua interpreter
002.335 000.889: expanding arguments
002.405 000.070: inits 2
002.810 000.405: init highlight

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.015 000.015: --- NVIM STARTING ---
000.242 000.227: event init
000.351 000.108: early init
000.429 000.079: locale set
000.500 000.071: init first window
000.914 000.413: inits 1
000.941 000.027: window checked
001.000 000.059: parsing arguments
001.566 000.063 000.063: require('vim.shared')
001.795 000.057 000.057: require('vim._options')
001.797 000.227 000.170: require('vim._editor')
001.799 000.321 000.032: require('vim._init_packages')
001.801 000.479: init lua interpreter
001.928 000.128: expanding arguments
001.986 000.057: inits 2
002.323 000.337: init highlight
002.324 000.001: waiting for UI
002.703 000.379: done waiting for UI
002.720 000.016: clear screen
002.885 000.165: init default mappings & autocommands
003.000 000.115: --cmd commands
017.242 000.064 000.064: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin.vim
019.201 000.031 000.031: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/indent.vim
022.768 000.121 000.121: require('vim.treesitter.language')
022.781 000.601 000.479: require('vim.treesitter.query')
022.922 000.139 000.139: require('vim.treesitter._range')
022.942 001.249 000.509: require('vim.treesitter.languagetree')
022.956 001.568 000.319: require('vim.treesitter')
022.964 001.626 000.058: require('nvim-treesitter.compat')
025.228 001.832 001.832: require('nvim-treesitter.parsers')
025.445 000.213 000.213: require('nvim-treesitter.utils')
025.454 002.308 000.263: require('nvim-treesitter.ts_utils')
025.485 002.519 000.211: require('nvim-treesitter.tsrange')
025.575 000.089 000.089: require('nvim-treesitter.caching')
025.598 004.517 000.284: require('nvim-treesitter.query')
025.624 004.889 000.371: require('nvim-treesitter.configs')
025.847 005.198 000.309: require('gep.treesitter')
025.849 005.242 000.045: require('gep.plugins')
025.850 006.396 001.154: require('gep')
025.852 006.425 000.029: sourcing /home/gep/.config/nvim/init.lua
025.873 016.352: sourcing vimrc file(s)
036.390 006.204 006.204: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/filetype.lua
038.519 000.094 000.094: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/synload.vim
038.607 002.133 002.039: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/syntax.vim
049.652 000.514 000.514: sourcing /home/gep/.nix-profile/share/nvim/site/plugin/fzf.vim
050.287 000.144 000.144: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/gzip.vim
050.326 000.010 000.010: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/health.vim
051.467 000.160 000.160: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
051.737 001.385 001.225: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchit.vim
051.878 000.114 000.114: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/matchparen.vim
052.180 000.275 000.275: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/netrwPlugin.vim
052.340 000.009 000.009: sourcing /nix/store/nqyh481zmisnl4dqd747skz8kacv74r4-neovim-0.9.5/rplugin.vim
052.493 000.255 000.246: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/rplugin.vim
052.620 000.079 000.079: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/shada.vim
052.679 000.020 000.020: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/spellfile.vim
052.854 000.101 000.101: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tarPlugin.vim
052.967 000.069 000.069: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tohtml.vim
053.016 000.015 000.015: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/tutor.vim
053.172 000.125 000.125: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/zipPlugin.vim
053.908 000.065 000.065: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/editorconfig.lua
054.003 000.066 000.066: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/man.lua
054.080 000.044 000.044: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/plugin/nvim.lua
054.105 016.614: loading rtp plugins
078.798 000.224 000.224: require('nvim-treesitter.info')
079.007 000.200 000.200: require('nvim-treesitter.shell_command_selectors')
079.040 001.056 000.632: require('nvim-treesitter.install')
079.107 000.065 000.065: require('nvim-treesitter.statusline')
079.281 000.172 000.172: require('nvim-treesitter.query_predicates')
079.285 018.277 016.983: require('nvim-treesitter')
079.963 018.997 000.720: sourcing /nix/store/cwfmwrkizzjgrzp4ilijnn7p9axg8a4j-packdir-start/pack/myNeovimPackages/start/nvim-treesitter/plugin/nvim-treesitter.lua
091.246 018.144: loading packages
091.259 000.013: loading after plugins
091.275 000.016: inits 3
094.398 003.123: reading ShaDa
099.931 001.823 001.823: require('vim.filetype')
125.529 000.221 000.221: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/autoload/htmlcomplete.vim
125.674 002.437 002.216: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/html.vim
125.990 010.233 007.797: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/ftplugin/markdown.vim
140.235 000.168 000.168: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/dtd.vim
140.299 000.506 000.338: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/xml.vim
142.921 000.273 000.273: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/javascript.vim
145.815 000.762 000.762: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/vb.vim
152.931 004.563 004.563: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/css.vim
153.976 015.947 009.842: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/html.vim
157.047 000.643 000.643: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/yaml.vim
157.125 021.077 004.488: sourcing /nix/store/23y9a26pwxx7l5a3c3ph64bhamfpp6zm-neovim-unwrapped-0.9.5/share/nvim/runtime/syntax/markdown.vim
161.853 000.132 000.132: require('nvim-treesitter.highlight')
169.686 001.291 001.291: require('gep.utils')
170.022 000.286 000.286: require('nvim-treesitter.indent')
171.899 000.006 000.006: require('vim.F')
172.168 000.264 000.264: require('editorconfig')
172.201 000.029 000.029: require('vim.fs')
172.587 043.048: opening buffers
172.607 000.020: BufEnter autocommands
172.609 000.002: editing files in windows
172.697 000.088: VimEnter autocommands
172.700 000.002: UIEnter autocommands
172.701 000.001: before starting main loop
180.419 007.717: first screen update
180.426 000.007: --- NVIM STARTED ---

times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.014 000.014: --- NVIM STARTING ---
000.234 000.220: event init
000.359 000.125: early init
000.433 000.074: locale set
000.494 000.061: init first window
000.969 000.475: inits 1
000.985 000.016: window checked
001.041 000.056: parsing arguments
001.665 000.066 000.066: require('vim.shared')
001.827 000.058 000.058: require('vim._options')
001.830 000.160 000.102: require('vim._editor')
001.831 000.281 000.056: require('vim._init_packages')
001.833 000.512: init lua interpreter
002.848 001.014: expanding arguments
002.939 000.092: inits 2
003.332 000.393: init highlight

How can I really disable this plugin for specific filetypes, and why is the performance this bad?

API to toggle rainbow

Neovim version

master

Language affected

No response

Query

No response

Strategy

No response

Description

Can you provide an API to explicitly toggle Rainbow? I like to disable colors in insert mode.

[Bug]: does not work

Neovim version

NVIM v0.9.0

Language affected

lua

Query

No response

Strategy

No response

Description

my config is:
return {
	{
		"HiPhish/rainbow-delimiters.nvim",
		event = "VeryLazy",
		config = function()
			local rainbow_delimiters = require("rainbow-delimiters")

			---@type rainbow_delimiters.config
			vim.g.rainbow_delimiters = {
				strategy = {
					[""] = rainbow_delimiters.strategy["global"],
					vim = rainbow_delimiters.strategy["local"],
				},
				query = {
					[""] = "rainbow-delimiters",
					lua = "rainbow-blocks",
				},
				priority = {
					[""] = 110,
					lua = 210,
				},
				highlight = {
					"RainbowDelimiterRed",
					"RainbowDelimiterYellow",
					"RainbowDelimiterBlue",
					"RainbowDelimiterOrange",
					"RainbowDelimiterGreen",
					"RainbowDelimiterViolet",
					"RainbowDelimiterCyan",
				},
			}
		end,
	},
}



health check is :
rainbow-delimiters: require("rainbow-delimiters.health").check()

Custom strategies ~
- OK Valid custom default strategy.
- OK Valid custom strategy for 'vim'.

Custom queries ~
- OK Valid custom default query
- OK Valid custom query for 'lua'

Custom priorities ~
- OK Valid custom default priority
- OK Valid custom priority for 'lua'

Custom highlight groups ~
- OK Highlight group 'RainbowDelimiterRed' defined.
- OK Highlight group 'RainbowDelimiterYellow' defined.
- OK Highlight group 'RainbowDelimiterBlue' defined.
- OK Highlight group 'RainbowDelimiterOrange' defined.
- OK Highlight group 'RainbowDelimiterGreen' defined.
- OK Highlight group 'RainbowDelimiterViolet' defined.
- OK Highlight group 'RainbowDelimiterCyan' defined.

Question: How to redefine highlight groups

Hello, I am new to the whole vim ecosystem. I've read on the documentation I could redefine highlight groups with the following:

" Link to an existing highlight group
    highlight link RainbowDelimiterRed WarningMsg

" Define the highlight from scratch
    highlight RainbowDelimiterOrange  guifg=#d65d0e ctermfg=White

But I fail to understand where should I put that. Also I guess this example is written in vimscript since comments start with ", how could I do this on lua?

[Feat]: React & Framer Motion support

It would be nice if there were improvements to JSX queries to support Framer Motion.

This is how rainbow-delimiters.nvim renders with React and Framer Motion.

rainbow-delimiters

This is how it looked on p00f/nvim-ts-rainbow. It also included the "<" and ">" symbols, it would also be nice if that functionality could be duplicated.

full color

[Bug]: open big file very slow

Neovim version

0.9.1

Language affected

Lua

Query

No response

Strategy

No response

Description

open a big file such as this will very slow.
image

When I disable the plugin and restore it to normal:

image

[Bug]: plugin does not work for different file types eg. json

Neovim version

v0.9.1

Language affected

JSON/Rust/Bash/Javascript

Query

No response

Strategy

No response

Description

I added HiPhish/rainbow-delimiters.nvim as a dependency for treesitter without any configuration and it seems to work as intended on Lua files.
But I cant get it to work with JSON, Rust, Bash or Javascript.

[Question]: highlights do not keep when fold text

when use vim.treesitter.foldtext() to show the fold text, the highlights of rainbow-delimiters.nvim do not show, is there a way to fix this?

vim.o.foldmethod = "expr"
vim.o.foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.o.foldtext = "v:lua.vim.treesitter.foldtext()"[
Snipaste_2023-11-30_16-36-07

[Bug]: slow down in markdown

Neovim version

0.9.5

Language affected

markdown

Query

No response

Strategy

No response

Description

Hello. I'm experiencing lags on big markdown files containing a lot of code blocks, when using rainbow-delimiters plugins. 

minimal `init.vim`:


let g:my_plug_dir = $HOME . '/.tmp/init.vim-debug'
if !filereadable(g:my_plug_dir . '/autoload/plug.vim')
	silent execute '!curl -fLo '.g:my_plug_dir.'/autoload/plug.vim --create-dirs  https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
	execute 'source ' . g:my_plug_dir . '/autoload/plug.vim'
end

call plug#begin(g:my_plug_dir . '/vim-plug')
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdateSync'}
Plug 'hiphish/rainbow-delimiters.nvim'
call plug#end()

if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
	echom 'Some modules are missing, running :PlugInstall'
	PlugInstall
endif

lua <<EOF
	require'nvim-treesitter.configs'.setup {
		auto_install = true,
		highlight = {
			enable = true,
		},
	}
EOF

[Bug]: lua_ls hangs on startup

Neovim version

0.9.4

Language affected

Lua

Query

No response

Strategy

No response

Description

When I enable rainbow-delimiters, lua_ls stalls at 0%. This is true even if I set the policy to 'noop' or blocklist lua in the plugin settings:

image

lua_ls config:

lspconfig.lua_ls.setup({
  on_attach = on_attach,
  capabilities = capabilities,
  settings = {
    Lua = {
      runtime = {
        -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
        version = "LuaJIT",
        -- Setup your lua path
        path = runtime_path,
      },
      diagnostics = {
        -- Get the language server to recognize the `vim` global
        globals = { "vim" },
      },
      workspace = {
        -- Make the server aware of Neovim runtime files
        library = vim.api.nvim_get_runtime_file("", true),
        checkThirdParty = false,
      },
      -- Do not send telemetry data containing a randomized but unique identifier
      telemetry = {
        enable = false,
      },
    },
  },
})

[Bug]: Rainbow fails to update or install due to gitlab access right issues

Neovim version

master

Language affected

No response

Query

No response

Strategy

No response

Description

I can't seem to update or install rainbow due to the following error:

        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim'...
        remote: Enumerating objects: 3658, done.        
        remote: Counting objects: 100% (902/902), done.        
        remote: Compressing objects: 100% (339/339), done.        
        remote: Total 3658 (delta 540), reused 833 (delta 498), pack-reused 2756        
        Receiving objects: 100% (3658/3658), 496.83 KiB | 2.30 MiB/s, done.
        Resolving deltas: 100% (1434/1434), done.
        Submodule 'test/xdg/local/share/nvim/site/pack/testing/start/nvim-treesitter' (https://github.com/nvim-treesitter/nvim-treesitter) registered for path 'test/xdg/local/share/nvim/site/pack/testing/start/nvim-treesitter'
        Submodule 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' (https://gitlab.com/HiPhish/yo-dawg.nvim.git) registered for path 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'
        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/nvim-treesitter'...
        remote: Enumerating objects: 29824, done.        
        remote: Counting objects: 100% (3118/3118), done.        
        remote: Compressing objects: 100% (494/494), done.        
        remote: Total 29824 (delta 2738), reused 2711 (delta 2600), pack-reused 26706        
        Receiving objects: 100% (29824/29824), 5.85 MiB | 5.90 MiB/s, done.
        Resolving deltas: 100% (18139/18139), done.
        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'...
        Host key verification failed.
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.
        fatal: clone of 'https://gitlab.com/HiPhish/yo-dawg.nvim.git' into submodule path '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' failed
        Failed to clone 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'. Retry scheduled
        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'...
        Host key verification failed.
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.
        fatal: clone of 'https://gitlab.com/HiPhish/yo-dawg.nvim.git' into submodule path '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' failed
        Failed to clone 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' a second time, aborting

[Bug]: Error when starting nvim

Neovim version

0.9.4

Language affected

All filetype

Query

No response

Strategy

No response

Description

Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: /usr/share/nvim/runtime/filetype.lua:24: Error executing lua: /usr/share/nvim/runtime/filetype.lua:25: B
ufReadPost Autocommands for "*"..FileType Autocommands for "tex"..FileType Autocommands for "*": Vim(append):Error executing lua callb
ack: ...y/rainbow-delimiters.nvim/lua/rainbow-delimiters/lib.lua:183: Cannot convert given lua type
stack traceback:
        [C]: in function 'nvim_buf_call'
        ...y/rainbow-delimiters.nvim/lua/rainbow-delimiters/lib.lua:183: in function 'attach'
        ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:63: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-deli
miters.lua:59>
        [C]: in function 'nvim_exec_autocmds'
        ...nvim/site/lazy/lazy.nvim/lua/lazy/core/handler/event.lua:157: in function <...nvim/site/lazy/lazy.nvim/lua/lazy/core/handle
r/event.lua:156>
        [C]: in function 'xpcall'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:113: in function 'try'
        ...nvim/site/lazy/lazy.nvim/lua/lazy/core/handler/event.lua:156: in function 'trigger'
        ...nvim/site/lazy/lazy.nvim/lua/lazy/core/handler/event.lua:87: in function <...nvim/site/lazy/lazy.nvim/lua/lazy/core/handler
/event.lua:72>
        [C]: in function 'nvim_cmd'
        /usr/share/nvim/runtime/filetype.lua:25: in function </usr/share/nvim/runtime/filetype.lua:24>
        [C]: in function 'nvim_buf_call'
        /usr/share/nvim/runtime/filetype.lua:24: in function </usr/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_cmd'
        /usr/share/nvim/runtime/filetype.lua:25: in function </usr/share/nvim/runtime/filetype.lua:24>
        [C]: in function 'nvim_buf_call'
        /usr/share/nvim/runtime/filetype.lua:24: in function </usr/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_buf_call'
        /usr/share/nvim/runtime/filetype.lua:24: in function </usr/share/nvim/runtime/filetype.lua:10>
Error detected while processing BufEnter Autocommands for "*":
Error executing lua callback: ...vim-treesitter-context/lua/treesitter-context/render.lua:94: BufEnter Autocommands for "*"..FileType
Autocommands for "*": Vim(append):Error executing lua callback: ...y/rainbow-delimiters.nvim/lua/rainbow-delimiters/lib.lua:183: Canno
t convert given lua type
stack traceback:
        [C]: in function 'nvim_buf_call'
        ...y/rainbow-delimiters.nvim/lua/rainbow-delimiters/lib.lua:183: in function 'attach'
        ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:63: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-deli
miters.lua:59>
        [C]: in function '__newindex'
        ...vim-treesitter-context/lua/treesitter-context/render.lua:94: in function 'copy_option'
        ...vim-treesitter-context/lua/treesitter-context/render.lua:122: in function 'highlight_contexts'
        ...vim-treesitter-context/lua/treesitter-context/render.lua:366: in function 'open'
        .../lazy/nvim-treesitter-context/lua/treesitter-context.lua:50: in function 'open'
        .../lazy/nvim-treesitter-context/lua/treesitter-context.lua:111: in function 'f'
        .../lazy/nvim-treesitter-context/lua/treesitter-context.lua:27: in function <.../lazy/nvim-treesitter-context/lua/treesitter-c
ontext.lua:21>
stack traceback:
        [C]: in function '__newindex'
        ...vim-treesitter-context/lua/treesitter-context/render.lua:94: in function 'copy_option'
        ...vim-treesitter-context/lua/treesitter-context/render.lua:122: in function 'highlight_contexts'
        ...vim-treesitter-context/lua/treesitter-context/render.lua:366: in function 'open'
        .../lazy/nvim-treesitter-context/lua/treesitter-context.lua:50: in function 'open'
        .../lazy/nvim-treesitter-context/lua/treesitter-context.lua:111: in function 'f'
        .../lazy/nvim-treesitter-context/lua/treesitter-context.lua:27: in function <.../lazy/nvim-treesitter-context/lua/treesitter-c
ontext.lua:21>

[Bug]: How to turn off the coloring of brackets for useless code?

Neovim version

v0.9.2

Language affected

C

Query

No response

Strategy

No response

Description

Some parts of the code are determined by macro definitions whether they work or not. Treesitter will skip the highlighting of these parts of the code, but the brackets will still be colored.

[Bug] With tsx, highlighting of delimiters is inconsistent when trying to include attribute names

The current tsx query (at queries/tsx/rainbow-delimiters.scm) works correctly but is only highlights tags, as illustrated here:
2024_01_17-16_06_21_904549567

I would like it to highlight the attributes names as well. I've tried modifying the query linked above to do this, and came up with:

; inherits: typescript

(jsx_element
  open_tag: (jsx_opening_element
              "<" @delimiter
              name: (identifier) @delimiter
              attribute: (jsx_attribute
                           (property_identifier) @delimiter)?
              ">" @delimiter)
  close_tag: (jsx_closing_element
               "</" @delimiter
               name: (identifier) @delimiter
               ">" @delimiter @sentinel)) @container

(jsx_element
  open_tag: (jsx_opening_element
              "<" @delimiter
              name: (member_expression) @delimiter
              attribute: (jsx_attribute
                           (property_identifier) @delimiter)?
              ">" @delimiter)
  close_tag: (jsx_closing_element
              "</" @delimiter
               name: (member_expression) @delimiter
              ">" @delimiter @sentinel)) @container

(jsx_self_closing_element
  "<" @delimiter
  name: (identifier) @delimiter
  attribute: (jsx_attribute
               (property_identifier) @delimiter)?
  "/>" @delimiter @sentinel) @container


(jsx_self_closing_element
  "<" @delimiter
  name: (member_expression) @delimiter
  attribute: (jsx_attribute
               (property_identifier) @delimiter)?
  "/>" @delimiter @sentinel) @container

(jsx_expression
  "{" @delimiter
  "}" @delimiter @sentinel) @container

Which produces the following result:
2024_01_17-16_07_02_961896557

It does include the attribute tags in the highlighting but it now has some inconsistencies. For example, you can see in the screenshot that for the element Text.h1, the opening bracket of the opening tag and the closing bracket of the closing tag are inconsistent with the color of the rest of the element. Is there something wrong with my query or is this a bug with rainbow-delimiters?

I'm using Neovim v0.9.4.

[Bug]: Rainbow delimiters no longer working for C# files

Neovim version

v0.10.0-dev-3117+g4e5c633ed

Language affected

c_sharp

Query

rainbow-delimiters

Strategy

global

Description

The rainbow effect for delimiters in C# is no longer working. This might've happened with a recent update, but I have been unable to track down which commit might be the culprit.

This can be seen with the provided test files, here is loop.cs
image

I have ensured treesitter is working, I have also run :TSUpdate to ensure the parsers are all up to date. No other file type seems to be affected.

[Bug]: does not work when golang code contains regex pattern

Neovim version

0.9.1

Language affected

Go

Query

No response

Strategy

Global

Description

Thank you for excellent plugin.

I found that Rainbow-delimiters does not work when golang source file contains regex pattern.
I am not sure if this issue can be reproduced in other language code.

Following is sample code to reproduce this issue.

package main

import (
	"fmt"
	"regexp"
)

var re = regexp.MustCompile(`(\D*)(\d+)`)

func main() {
	fmt.Println("Hello, world")
}

[Bug]: error msg after startup

Neovim version

0.9.0

Language affected

No response

Query

No response

Strategy

No response

Description

Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
	...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
	[C]: in function 'nvim_buf_set_option'
	...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
	...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
	...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
	...lazy/mason-lspconfig.nvim/lua/mason-lspconfig/notify.lua:5: in function 'notify'
	...azy/mason-lspconfig.nvim/lua/mason-lspconfig/install.lua:11: in function 'install'
	...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:28: in function 'fn'
	...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
	...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:24: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
stack traceback:
	[C]: in function 'nvim_buf_set_option'
	...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
	...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
	...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
	...lazy/mason-lspconfig.nvim/lua/mason-lspconfig/notify.lua:5: in function 'notify'
	...azy/mason-lspconfig.nvim/lua/mason-lspconfig/install.lua:11: in function 'install'
	...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:28: in function 'fn'
	...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
	...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:24: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
	...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
	[C]: in function 'nvim_buf_set_option'
	...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
	...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
	...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'n'
	...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:323: in function 'notify'
	...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:349: in function 'error'
	...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:106: in function <...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:105>
stack traceback:
	[C]: in function 'nvim_buf_set_option'
	...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
	...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
	...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'n'
	...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:323: in function 'notify'
	...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:349: in function 'error'
	...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:106: in function <...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:105>
Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
	...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
	[C]: in function 'nvim_buf_set_option'
	...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
	...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
	...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
	...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:30: in function 'fn'
	...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
	...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:26: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
stack traceback:
	[C]: in function 'nvim_buf_set_option'
	...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
	...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
	...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
	...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:30: in function 'fn'
	...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
	...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:26: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>
E5108: Error executing lua ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:79: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
	...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
	[C]: in function 'nvim_buf_set_option'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:79: in function 'show'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:310: in function 'on_keys'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:255: in function 'open'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/init.lua:49: in function 'show'
	[string ":lua"]:1: in main chunk
stack traceback:
	[C]: in function 'nvim_buf_set_option'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:79: in function 'show'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:310: in function 'on_keys'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:255: in function 'open'
	...are/nvim/site/lazy/which-key.nvim/lua/which-key/init.lua:49: in function 'show'
	[string ":lua"]:1: in main chunk
E5108: Error executing lua ....local/share/nvim/site/lazy/nvim-treehopper/lua/tsht.lua:290: ....local/share/nvim/site/lazy/nvim-treehopper/lua/tsht.lua:96: No language servers support selectionRange
stack traceback:
	[C]: in function 'run'
	....local/share/nvim/site/lazy/nvim-treehopper/lua/tsht.lua:290: in function 'nodes'
	[string ":lua"]:1: in main chunk

I use Lazy and updated plugins in WSL, config:

return function()
	---@param threshold number @Use global strategy if nr of lines exceeds this value
	local function init_strategy(threshold)
		return function()
			local errors = 200
			vim.treesitter.get_parser():for_each_tree(function(lt)
				if lt:root():has_error() and errors >= 0 then
					errors = errors - 1
				end
			end)
			if errors < 0 then
				return nil
			end
			return vim.fn.line("$") > threshold and require("rainbow-delimiters").strategy["global"]
				or require("rainbow-delimiters").strategy["local"]
		end
	end

	vim.g.rainbow_delimiters = {
		strategy = {
			[""] = init_strategy(500),
			c = init_strategy(200),
			cpp = init_strategy(200),
			lua = init_strategy(500),
			vimdoc = init_strategy(300),
			vim = init_strategy(300),
		},
		query = {
			[""] = "rainbow-delimiters",
			latex = "rainbow-blocks",
			javascript = "rainbow-delimiters-react",
		},
		highlight = {
			"RainbowDelimiterRed",
			"RainbowDelimiterOrange",
			"RainbowDelimiterYellow",
			"RainbowDelimiterGreen",
			"RainbowDelimiterBlue",
			"RainbowDelimiterCyan",
			"RainbowDelimiterViolet",
		},
	}
	require("modules.utils").load_plugin("rainbow_delimiters", nil, true)
end

[Bug]: java rainbow highlighting not working

Neovim version

0.9.1

Language affected

Java

Query

No response

Strategy

No response

Description

package com.transformity.pos.util;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Utils {
  public static String toUpperCamelCase(String input) {
    String[] words = input.split("\\s+");
    StringBuilder result = new StringBuilder();
    for (String word : words) {
      if (!word.isEmpty()) {
        String capitalizedWord =
            word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
        result.append(capitalizedWord);
      }
    }
    return result.toString();
  }

  public static BigDecimal calculateProfitMargin(BigDecimal sellPrice, BigDecimal buyPrice) {
    if (sellPrice == null || buyPrice == null) {
      return null;
    }
    try {
      return ((sellPrice.subtract(buyPrice)).divide(buyPrice, RoundingMode.HALF_UP))
          .multiply(BigDecimal.valueOf(100));
    } catch (ArithmeticException e) {
      return null;
    }
  }

  public static int calculateBuyRangeImportance(String buyRange) {
    if (buyRange == null) {
      return -1;
    }
    return switch (buyRange) {
      case "PRICE INCREASE" -> 100;
      case "BUY 30", "BUY 60", "BUY 90", "BUY 120", "BUY 150" -> 90;
      default -> 0;
    };
  }
}

[Bug]: query: invalid structure at position 1065 for language javascript

Neovim version

0.9.1

Language affected

javascript

Query

No response

Strategy

No response

Description

:checkhealth shows that

rainbow-delimiters: require("rainbow-delimiters.health").check()


- ERROR Failed to run healthcheck for "rainbow-delimiters" plugin. Exception:
  function health#check, line 25
  Vim(eval):E5108: Error executing lua /usr/share/nvim/runtime/lua/vim/treesitter/query.lua:259: query: invalid structure at position 1065 for language javascript
  stack traceback:
  [C]: in function '_ts_parse_query'
  /usr/share/nvim/runtime/lua/vim/treesitter/query.lua:259: in function 'get'
  ...ainbow-delimiters.nvim/lua/rainbow-delimiters/health.lua:47: in function 'check_query'
  ...ainbow-delimiters.nvim/lua/rainbow-delimiters/health.lua:111: in function 'check'
  [string "luaeval()"]:1: in main chunk

I have run :TSUpdate and check :echo nvim_get_runtime_file('parser', v:true) that only nvim-treesitter parser is present.

[Bug]: Possible regression, can't implement whitelist only rainbow delimiters

Neovim version

nightly

Language affected

No response

Query

No response

Strategy

No response

Description

Hi, before commit bc1e12b, I could implement a whitelist only setup enabled with a defined set of languages:

local rainbow_delimiters = require('rainbow-delimiters')
                                                         
vim.g.rainbow_delimiters = {
  strategy = {
    [''] = rainbow_delimiters.strategy['noop'],
    clojure = rainbow_delimiters.strategy['global'],
    fennel = rainbow_delimiters.strategy['global'],
    commonlisp = rainbow_delimiters.strategy['global'],
    query = rainbow_delimiters.strategy['global'],
    janet = rainbow_delimiters.strategy['global'],
    racket = rainbow_delimiters.strategy['global'],
    scheme = rainbow_delimiters.strategy['global'],
  },
  highlight = {
    '@rainbow.1',
    '@rainbow.2',
    '@rainbow.3',
    '@rainbow.4',
    '@rainbow.5',
    '@rainbow.6',
  },
}

Basically, I want to enable rainbow delimiters only on lisp-like languages, is this use-case valid?

Thanks

[Bug]: Can't work on NVIM v0.10.0-dev-742+g12ccea596

Neovim version

No response

Language affected

No response

Query

No response

Strategy

No response

Description

I set up the plugin using following config but it didn't work. 

local rainbow_delimiters = require 'rainbow-delimiters'

vim.g.rainbow_delimiters = {
    strategy = {
        [''] = rainbow_delimiters.strategy['global'],
        vim = rainbow_delimiters.strategy['local'],
    },
    query = {
        [''] = 'rainbow-delimiters',
        lua = 'rainbow-blocks',
    },
    highlight = {
        'RainbowDelimiterRed',
        'RainbowDelimiterYellow',
        'RainbowDelimiterBlue',
        'RainbowDelimiterOrange',
        'RainbowDelimiterGreen',
        'RainbowDelimiterViolet',
        'RainbowDelimiterCyan',
    },
}

Do I forget to config other thing like tree-sitter? Or is cause by my color theme: gruvbo?

[Bug]: Cannot disable in strategy function

Neovim version

0.9.1

Language affected

No response

Query

No response

Strategy

No response

Description

I am currently trying to set up a strategy function to disable rainbow-delimiters on large files. According to the docs if I return nil in a strategy function it should disable, but I'm actually just getting an error:

Error detected while processing BufReadPost Autocommands for "*":                                                                                                                                                                                                                 
Error executing lua callback: .../installs/neovim/nightly/share/nvim/runtime/filetype.lua:21: Error executing lua: .../installs/neovim/nightly/share/nvim/runtime/filetype.lua:22: BufReadPost Autocommands for "*"..FileType Autocommands for "*": Vim(append):Error executing lu
a callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:106: attempt to index local 'strategy' (a nil value)                                                                                                                                                      
stack traceback:                                                                                                                                                                                                                                                                  
        ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:106: in function 'attach'                                                                                                                                                                                     
        ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:156: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:152>   

[Bug]: Error detected In C file

Neovim version

0.9.4

Language affected

C

Query

No response

Strategy

No response

Description

This problem occurs when I open a C file by nvimdots.
And errors consistently occur as I move the cursor around.
Sometimes the cursor even move itself in a strange way.
Besides, this problem may have associated with the codes.
If I create a new C file and just do "Hello world" print, no error will be reported.

Error Info:

Error detected while processing CursorMoved Autocommands for "<buffer=1>":
Error executing lua callback: ...elimiters.nvim/lua/rainbow-delimiters/strategy/local.lua:198: attempt to call method 'range' (a nil value)
stack traceback:
        ...elimiters.nvim/lua/rainbow-delimiters/strategy/local.lua:198: in function 'update_local'
        ...elimiters.nvim/lua/rainbow-delimiters/strategy/local.lua:223: in function 'fn'
        ...m/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:345: in function 'for_each_tree'
        ...elimiters.nvim/lua/rainbow-delimiters/strategy/local.lua:222: in function 'local_rainbow'
        ...elimiters.nvim/lua/rainbow-delimiters/strategy/local.lua:277: in function <...elimiters.nvim/lua/rainbow-delimiters/strategy/local.lua:273>

[Bug]: looks like version conflict with nvim-notify,how can i solve it

Neovim version

latest

Language affected

No response

Query

No response

Strategy

No response

Description

Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimit
ers.nvim/plugin/rainbow-delimiters.lua:154: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
        ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:154: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:153>
        [C]: in function 'nvim_buf_set_option'
        ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
        ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
        ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:316: in function 'notify'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:337: in function 'error'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:103: in function <...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:102>
stack traceback:
        [C]: in function 'nvim_buf_set_option'
        ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
        ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
        ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:316: in function 'notify'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:337: in function 'error'
        ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:103: in function <...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:102>

[Bug]: Don't work on python files

Neovim version

NVIM v0.9.2

Language affected

Python

Query

No response

Strategy

No response

Description

This plugin work normaly with lua files but doesnt work in python

I am use AstroNvim with this configuration
https://github.com/AstroNvim/astrocommunity/blob/main/lua/astrocommunity/editing-support/nvim-ts-rainbow2/init.lua

My Theme is Material (as i say before in Lua file all is good)

image

[Enhancement]: Support jsdoc types for javascript/typescript

Language affected

Javascript

Description

The jsdoc format for javascript supports adding types, including writing typescript inside the comment which can be used by the typescript compiler to typecheck js code. Since rainbow-delimiters works for both js and ts already, it would be awesome if it applied in jsdoc as well.

Example comparison with vscode:

Neovim:
Screenshot 2024-02-04 at 17 53 21

Vscode:
Screenshot 2024-02-04 at 17 57 49

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.