summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml9
-rw-r--r--.github/ISSUE_TEMPLATE/general-issue-form.yaml9
-rw-r--r--.github/ISSUE_TEMPLATE/lsp-issue-form.yaml80
-rw-r--r--.gitignore1
-rw-r--r--README.md4
-rw-r--r--colors/spacegray.vim464
-rw-r--r--ftdetect/zig.lua4
-rw-r--r--ftplugin/c.lua37
-rw-r--r--ftplugin/cmake.lua8
-rw-r--r--ftplugin/css.lua15
-rw-r--r--ftplugin/dart.lua20
-rw-r--r--ftplugin/docker.lua6
-rw-r--r--ftplugin/dockerfile.lua6
-rw-r--r--ftplugin/elixir.lua4
-rw-r--r--ftplugin/elm.lua16
-rw-r--r--ftplugin/euphoria3.lua4
-rw-r--r--ftplugin/go.lua30
-rw-r--r--ftplugin/graphql.lua2
-rw-r--r--ftplugin/html.lua14
-rw-r--r--ftplugin/java.lua34
-rw-r--r--ftplugin/javascript.lua88
-rw-r--r--ftplugin/javascriptreact.lua88
-rw-r--r--ftplugin/json.lua39
-rw-r--r--ftplugin/kotlin.lua32
-rw-r--r--ftplugin/lua.lua100
-rw-r--r--ftplugin/php.lua27
-rw-r--r--ftplugin/python.lua118
-rw-r--r--ftplugin/ruby.lua34
-rw-r--r--ftplugin/rust.lua172
-rw-r--r--ftplugin/sh.lua42
-rw-r--r--ftplugin/tex.lua6
-rw-r--r--ftplugin/tf.lua8
-rw-r--r--ftplugin/typescript.lua88
-rw-r--r--ftplugin/typescriptreact.lua88
-rw-r--r--ftplugin/vim.lua6
-rw-r--r--ftplugin/vue.lua8
-rw-r--r--ftplugin/yaml.lua8
-rw-r--r--ftplugin/zig.lua21
-rw-r--r--ftplugin/zsh.lua50
-rw-r--r--init.lua39
-rw-r--r--lua/default-config.lua477
-rw-r--r--lua/keymappings.lua60
-rw-r--r--lua/lsp/emmet-ls.lua6
-rw-r--r--lua/lsp/init.lua62
-rw-r--r--lua/lsp/ts-fmt-lint.lua33
-rw-r--r--lua/lv-autopairs/init.lua60
-rw-r--r--lua/lv-bufferline/init.lua111
-rw-r--r--lua/lv-colorizer/init.lua23
-rw-r--r--lua/lv-compe/init.lua129
-rw-r--r--lua/lv-dashboard/init.lua107
-rw-r--r--lua/lv-dial/init.lua22
-rw-r--r--lua/lv-galaxyline/init.lua406
-rw-r--r--lua/lv-gitblame/init.lua2
-rw-r--r--lua/lv-gitsigns/init.lua94
-rw-r--r--lua/lv-hop/init.lua6
-rw-r--r--lua/lv-lsp-rooter/init.lua8
-rw-r--r--lua/lv-lspinstall/init.lua6
-rw-r--r--lua/lv-matchup/init.lua3
-rw-r--r--lua/lv-nvimtree/init.lua127
-rw-r--r--lua/lv-quickscope/init.lua4
-rw-r--r--lua/lv-rnvimr/init.lua2
-rw-r--r--lua/lv-snap/init.lua16
-rw-r--r--lua/lv-spectre/init.lua87
-rw-r--r--lua/lv-symbols-outline/init.lua26
-rw-r--r--lua/lv-telescope/init.lua140
-rw-r--r--lua/lv-themes/spacegray.lua719
-rw-r--r--lua/lv-treesitter/init.lua71
-rw-r--r--lua/lv-utils/init.lua88
-rw-r--r--lua/lv-vimtex/init.lua12
-rw-r--r--lua/lv-which-key/init.lua521
-rw-r--r--lua/lv-zen/init.lua42
-rw-r--r--lua/plugins.lua881
-rw-r--r--lua/settings.lua96
-rw-r--r--utils/.stylua.toml6
-rw-r--r--utils/installer/lv-config.example.lua73
-rw-r--r--utils/lush-template/lua/lush_theme/lush_template.lua5
76 files changed, 3222 insertions, 3138 deletions
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000..12d6ceab
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,9 @@
+blank_issues_enabled: true
+
+contact_links:
+ - name: Matrix community
+ url: https://matrix.to/#/+atmachine:matrix
+ about: Please ask and answer questions on Matrix.
+ - name: Discord community
+ url: https://discord.gg/Xb9B4Ny
+ about: Please ask and answer questions on Discord.
diff --git a/.github/ISSUE_TEMPLATE/general-issue-form.yaml b/.github/ISSUE_TEMPLATE/general-issue-form.yaml
index 4571fa12..50a8e210 100644
--- a/.github/ISSUE_TEMPLATE/general-issue-form.yaml
+++ b/.github/ISSUE_TEMPLATE/general-issue-form.yaml
@@ -52,9 +52,12 @@ body:
- type: checkboxes
id: checks
attributes:
- label: I have read
+ label: I have
options:
- - label: The readme
+ - label: Read the readme
required: true
- - label: The wiki
+ - label: Read the wiki
required: true
+ - label: Searched for similar issues
+ required: true
+
diff --git a/.github/ISSUE_TEMPLATE/lsp-issue-form.yaml b/.github/ISSUE_TEMPLATE/lsp-issue-form.yaml
new file mode 100644
index 00000000..6597ec2a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/lsp-issue-form.yaml
@@ -0,0 +1,80 @@
+name: LSP Issue
+description: File a LSP related bug report
+title: "[Bug]: "
+labels: [bug, lsp]
+# assignees:
+# - ChristianChiarulli
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for helping us improve !
+ - type: textarea
+ id: problem-description
+ attributes:
+ label: Problem description
+ description: Also tell us, what did you expect to happen?
+ placeholder: |
+ Steps to reproduce the behavior:
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'
+ 4. See error
+ validations:
+ required: true
+ - type: checkboxes
+ id: generic-checks
+ attributes:
+ label: Check the following
+ options:
+ - label: I am in a git managed directory
+ required: true
+ - label: I restarted Neovim after running :LspInstall
+ required: true
+ - label: I have a valid language configuration (~/.config/nvim/ftplugin/)
+ required: true
+ - label: I checked the options (~/.config/nvim/lv-config.lua)
+ required: true
+ - label: The programs specified by the config are installed
+ - type: input
+ id: lunar-vim-version
+ attributes:
+ label: LunarVim version
+ validations:
+ required: true
+ - type: input
+ id: nvim-version
+ attributes:
+ label: Neovim version (>= 0.5)
+ placeholder: nvim --version
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Relevant log output
+ placeholder: |
+ :echo &ft
+ :LspInfo
+
+ :LspStart <language>
+ :messages
+ :checkhealth
+ grep ERROR ~/.cache/nvim/lsp.log
+ render: shell
+ - type: textarea
+ id: screenshots
+ attributes:
+ label: Screenshots
+ description: If applicable, add screenshots to help explain your problem
+ - type: checkboxes
+ id: documentation-checks
+ attributes:
+ label: I have
+ options:
+ - label: Read the readme
+ required: true
+ - label: Read the wiki
+ required: true
+ - label: Searched for similar issues
+ required: true
diff --git a/.gitignore b/.gitignore
index c441ffa0..51f14bc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@ eclipse.jdt.ls/
spell/
nv-settings.lua
lv-settings.lua
+.stylua.toml
diff --git a/README.md b/README.md
index 69d7d697..86113e02 100644
--- a/README.md
+++ b/README.md
@@ -110,5 +110,9 @@ cd ~/.config/nvim && git pull
- [Twitter](https://twitter.com/chrisatmachine)
+## Testimonials
+
+> "I have the processing power of a potato with 4 gb of ram and LunarVim runs perfectly."
+> - @juanCortelezzi, LunarVim user.
diff --git a/colors/spacegray.vim b/colors/spacegray.vim
index 0bd60f5f..be065c28 100644
--- a/colors/spacegray.vim
+++ b/colors/spacegray.vim
@@ -1,263 +1,259 @@
-"Theme built with Lush.nvim, exported at Fri Jul 2 13:45:55 2021
-highlight SpecialKey guifg=#5486C0 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight Title guifg=#5486C0 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight! link Substitute Search
-highlight MoreMsg guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Type guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+"Theme built with Lush.nvim, exported at Sun 04 Jul 2021 02:47:35 PM EDT
+highlight StatusLineLspDiagnosticsHint guifg=#4DC1FF guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight BufferInactive guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight markdownCode guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link DiffviewStatusRenamed SignChange
highlight! link StorageClass Type
-highlight! link Typedef Type
-highlight! link Statement Keyword
-highlight! link Repeat Keyword
-highlight! link Label Keyword
-highlight! link Exception Keyword
-highlight! link Macro PreProc
-highlight! link PreCondit PreProc
-highlight Special guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
highlight! link SpecialChar Character
-highlight Tag guifg=#7299EE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Debug guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Delimiter guifg=#9092A2 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight SpecialComment guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline blend=NONE
-highlight Italic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight Ignore guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Normal guifg=#C7C8D1 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight EndOfBuffer guifg=#212121 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight CursorLine guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight VertSplit guifg=#393E46 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link CursorColumn CursorLine
+highlight FoldColumn guifg=#858585 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight TabLine guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight TelescopeSelection guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TelescopeMatching guifg=#AF4B57 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight TelescopeBorder guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeNormal guifg=#B1B3BE guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight NvimTreeGitDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeVertSplit guifg=#292929 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight TabLine guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight TabLineFill guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link LspDiagnosticsError LspDiagnosticsSignError
-highlight! link LspDiagnosticsWarning LspDiagnosticsSignWarning
-highlight! link LspDiagnosticsInformation LspDiagnosticsSignInformation
-highlight! link LspDiagnosticsHint LspDiagnosticsSignHint
-highlight BufferVisible guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleIndex guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleMod guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleSign guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleTarget guifg=#AF4B57 guibg=#212121 guisp=NONE gui=bold blend=NONE
-highlight BufferInactiveIndex guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight BufferInactiveMod guifg=#FFCC66 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight BufferInactiveSign guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight BufferInactiveTarget guifg=#AF4B57 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link htmlH1 Title
-highlight mkdLink guifg=#64A6C4 guibg=NONE guisp=NONE gui=underline blend=NONE
-highlight mkdLineBreak guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight mkdHeading guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSKeyword Keyword
-highlight mkdUnderline guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSKeywordFunction Keyword
-highlight markdownCode guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link markdownLinkTextDelimiter Delimiter
-highlight! link TSLabel Label
highlight! link TSMethod Function
-highlight TSNamespace guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Identifier guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeRootFolder guifg=#3B6AA0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight GitSignsChange guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSLabel Label
+highlight! link TSComment Comment
+highlight! link LspDiagnosticsWarning LspDiagnosticsSignWarning
+highlight SignAdd guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link IncSearch Search
+highlight WhichKey guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSLiteral String
+highlight BufferCurrent guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight Todo guifg=#AF4B57 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight! link TSParameterReference TSParameter
+highlight NvimTreeOpenedFolderName guifg=#4E99BC guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight! link MsgSeparator Normal
+highlight! link TermCursor Cursor
+highlight LspDiagnosticsFloatingHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSConstBuiltin Constant
+highlight TSStrike guifg=NONE guibg=NONE guisp=NONE gui=strikethrough blend=NONE
+highlight Number guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link WildMenu PmenuSel
+highlight DiffText guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight SignDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Normal guifg=#C7C8D1 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Type guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Float guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight CompeDocumentation guifg=NONE guibg=#393E46 guisp=NONE gui=NONE blend=NONE
+highlight Ignore guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight GitSignsDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSConstant Constant
+highlight StatusLineSeparator guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link TSConstructor Type
+highlight! link Substitute Search
+highlight StatusLineGitDelete guifg=#AF4B57 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight StatusLineLspDiagnosticsError guifg=#F44848 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight WhichKeyFloat guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight markdownItalic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight! link TSNumber Number
+highlight Pmenu guifg=#C7C8D1 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
+highlight! link TabLineWarning LspDiagnosticsSignWarning
+highlight PmenuSel guifg=#262626 guibg=#67899E guisp=NONE gui=NONE blend=NONE
+highlight! link Typedef Type
+highlight! link Define PreProc
+highlight TSError guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Directory guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight DashboardFooter guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WhichKeyGroup guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TermCursorNC Cursor
+highlight MatchParen guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight! link TSOperator Operator
-highlight StatusLineDeco guifg=#EEBA59 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
+highlight TSVariableBuiltin guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitDirty guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleIndex guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsFloatingError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WarningMsg guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight DashboardCenter guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Conceal guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeVertSplit guifg=#292929 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsUnderlineHint guifg=NONE guibg=NONE guisp=#87B479 gui=underline blend=NONE
+highlight Visual guifg=NONE guibg=#2C2F35 guisp=NONE gui=NONE blend=NONE
+highlight Tag guifg=#7299EE guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TelescopeMatching guifg=#AF4B57 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight LspDiagnosticsDefaultInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WhichKeySeperator guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link htmlH1 Title
highlight! link TSParameter TSField
-highlight StatusLineLColAlt guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSParameterReference TSParameter
-highlight StatusLineFTAlt guifg=#C7C8D1 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight TSProperty guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight StatusLineGitAlt guifg=#212121 guibg=#858585 guisp=NONE gui=NONE blend=NONE
-highlight! link TSPunctDelimiter Delimiter
-highlight StatusLineFileName guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=bold blend=NONE
-highlight! link TSPunctBracket Delimiter
-highlight! link TabLineError LspDiagnosticsSignError
+highlight! link LspDiagnosticsVirtualTextWarning LspDiagnosticsDefaultWarning
+highlight! link TSTagDelimiter Delimiter
+highlight BufferInactiveTarget guifg=#AF4B57 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link LspDiagnosticsVirtualTextInformation LspDiagnosticsDefaultInformation
+highlight StatusLineLspDiagnosticsWarning guifg=#FF8800 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link CursorIM Cursor
+highlight! link TSFloat Float
+highlight! link markdownIdDelimiter Delimiter
+highlight BufferCurrentMod guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight Whitespace guifg=#575757 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Repeat Keyword
+highlight NvimTreeIndentMarker guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Character guifg=#B1D67A guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitRenamed guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight BufferInactiveMod guifg=#FFCC66 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link DiffviewFilePanelDeletion SignDelete
+highlight StatusLineTreeSitter guifg=#87B479 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight SpecialKey guifg=#5486C0 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight DiffAdd guifg=NONE guibg=#5A7D0C guisp=NONE gui=NONE blend=NONE
+highlight CursorLine guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight! link TSPunctSpecial Delimiter
+highlight! link QuickFixLine CursorLine
+highlight! link Label Keyword
+highlight TSEmphasis guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight Error guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSWarning Todo
+highlight! link TSNumber Number
+highlight BufferVisible guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight SpellRare guifg=#C7C8D1 guibg=NONE guisp=#5486C0 gui=underline blend=NONE
+highlight LspDiagnosticsDefaultError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Question MoreMsg
+highlight Operator guifg=#67899E guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse blend=NONE
+highlight BufferCurrentIndex guifg=#64A6C4 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight! link CursorColumn CursorLine
+highlight! link TSType Type
+highlight StatusLine guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsUnderlineInformation guifg=NONE guibg=NONE guisp=#5486C0 gui=underline blend=NONE
+highlight! link NormalNC Normal
highlight! link TSRepeat Repeat
-highlight! link TSString String
-highlight WhichKey guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeNormal guifg=#B1B3BE guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight ErrorMsg guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitMerge guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight mkdLineBreak guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitNew guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link LspDiagnosticsHint LspDiagnosticsSignHint
+highlight! link DiffviewNormal NvimTreeNormal
+highlight! link PreCondit PreProc
+highlight! link Macro PreProc
+highlight NormalFloat guifg=NONE guibg=#292D32 guisp=NONE gui=NONE blend=NONE
highlight! link TSStringRegex TSString
-highlight WhichKeyDesc guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSStringEscape Character
-highlight! link TSSymbol Identifier
-highlight! link TSTag Tag
+highlight FlutterWidgetGuides guifg=#919191 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Debug guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSAttribute guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight BufferInactiveIndex guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link TSKeyword Keyword
+highlight mkdHeading guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link LspDiagnosticsVirtualTextError LspDiagnosticsDefaultError
+highlight Function guifg=#EEBA59 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight StatusLineNC guifg=#C7C8C0 guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight! link DiffviewStatusAdded SignAdd
-highlight! link TSTagDelimiter Delimiter
+highlight! link TSString String
highlight TSText guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link DiffviewStatusDeleted SignDelete
highlight! link DiffviewFilePanelInsertion SignAdd
-highlight! link DiffviewFilePanelDeletion SignDelete
-highlight TSEmphasis guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight Directory guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSTag Tag
+highlight! link LspDiagnosticsInformation LspDiagnosticsSignInformation
+highlight! link TSKeywordFunction Keyword
+highlight LspDiagnosticsDefaultHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link DiffviewStatusModified SignChange
+highlight DiffviewVertSplit guifg=#858585 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitStaged guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link NonText EndOfBuffer
+highlight NvimTreeSpecialFile guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight SpecialComment guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Exception Keyword
+highlight PreProc guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link markdownUrl mkdLink
+highlight LspDiagnosticsFloatingWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSNamespace guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight VertSplit guifg=#393E46 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleTarget guifg=#AF4B57 guibg=#212121 guisp=NONE gui=bold blend=NONE
+highlight FloatBorder guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link TabLineHint LspDiagnosticsSignHint
+highlight BufferVisibleSign guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleMod guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
highlight TSUnderline guifg=NONE guibg=NONE guisp=NONE gui=underline blend=NONE
-highlight TSStrike guifg=NONE guibg=NONE guisp=NONE gui=strikethrough blend=NONE
-highlight! link TSTitle Title
-highlight! link TSLiteral String
-highlight TSURI guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSWarning Todo
-highlight! link TSType Type
-highlight! link TSTypeBuiltin Type
-highlight TSVariable guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSVariableBuiltin guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Define PreProc
-highlight Character guifg=#B1D67A guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Float guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Identifier guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Conditional Keyword
-highlight Keyword guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspTroubleIndent guifg=#919191 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight EndOfBuffer guifg=#212121 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TabLineError LspDiagnosticsSignError
+highlight! link LspDiagnosticsVirtualTextHint LspDiagnosticsDefaultHint
highlight! link Structure Type
-highlight! link Include Keyword
-highlight WhichKeySeperator guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight luaTSConstructor guifg=#9092A2 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DiffAdd guifg=NONE guibg=#5A7D0C guisp=NONE gui=NONE blend=NONE
-highlight TSAnnotation guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSAttribute guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSBoolean Boolean
-highlight! link TSCharacter Character
-highlight! link TSComment Comment
-highlight! link TSConditional Conditional
-highlight! link TSConstant Constant
-highlight! link TSConstBuiltin Constant
-highlight GitSignsChange guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSConstructor Type
-highlight GitSignsDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSException Exception
-highlight TSField guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Search guifg=#C7C8D1 guibg=#67899E guisp=NONE gui=NONE blend=NONE
-highlight! link TSFunction Function
+highlight CodiVirtualText guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link DiffviewStatusDeleted SignDelete
highlight! link TSFuncBuiltin Function
-highlight LspDiagnosticsDefaultHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsDefaultError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsDefaultWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsDefaultInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link LspDiagnosticsVirtualTextHint LspDiagnosticsDefaultHint
-highlight! link LspDiagnosticsVirtualTextError LspDiagnosticsDefaultError
-highlight! link LspDiagnosticsVirtualTextWarning LspDiagnosticsDefaultWarning
-highlight! link LspDiagnosticsVirtualTextInformation LspDiagnosticsDefaultInformation
-highlight LspDiagnosticsUnderlineHint guifg=NONE guibg=NONE guisp=#87B479 gui=underline blend=NONE
-highlight LspDiagnosticsUnderlineError guifg=NONE guibg=NONE guisp=#AF4B57 gui=underline blend=NONE
-highlight LspDiagnosticsUnderlineWarning guifg=NONE guibg=NONE guisp=#EEBA59 gui=underline blend=NONE
-highlight LspDiagnosticsUnderlineInformation guifg=NONE guibg=NONE guisp=#5486C0 gui=underline blend=NONE
-highlight LspDiagnosticsFloatingHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsFloatingError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsFloatingWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsFloatingInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight GitSignsAdd guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight PreProc guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Constant guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferInactive guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight Operator guifg=#67899E guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferCurrent guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight String guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Number guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Boolean guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DiffChange guifg=NONE guibg=#0C7D9D guisp=NONE gui=NONE blend=NONE
-highlight Error guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link lCursor Cursor
highlight DiffDelete guifg=NONE guibg=#93151B guisp=NONE gui=NONE blend=NONE
-highlight! link NonText EndOfBuffer
-highlight LspDiagnosticsSignError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight WarningMsg guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-" highlight LspReferenceText guifg=NONE guibg=#292929 guisp=NONE gui=underline blend=NONE
-" highlight LspReferenceRead guifg=NONE guibg=#292929 guisp=NONE gui=underline blend=NONE
-" highlight LspReferenceWrite guifg=NONE guibg=#292929 guisp=NONE gui=underline blend=NONE
-highlight NvimTreeGitStaged guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitDirty guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitNew guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitMerge guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitRenamed guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeRootFolder guifg=#3B6AA0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeIndentMarker guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeFolderName guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeOpenedFolderName guifg=#4E99BC guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight NvimTreeSpecialFile guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeExecFile guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight markdownLinkText guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSTypeBuiltin Type
+highlight! link TSFuncMacro Macro
+highlight BufferCurrentTarget guifg=#AF4B57 guibg=#212121 guisp=NONE gui=bold blend=NONE
+highlight! link TSPunctDelimiter Delimiter
+highlight! link TSException Exception
+highlight TSProperty guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
highlight NvimTreeImageFile guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Comment guifg=#858585 guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight CodiVirtualText guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight ErrorMsg guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight IndentBlanklineContextChar guifg=#6B6B6B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DashboardFooter guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DashboardCenter guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSVariable guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsUnderlineWarning guifg=NONE guibg=NONE guisp=#EEBA59 gui=underline blend=NONE
highlight DashboardHeader guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DiffviewVertSplit guifg=#858585 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight! link DiffviewStatusRenamed SignChange
-highlight! link DiffviewStatusModified SignChange
-highlight! link DiffviewNormal NvimTreeNormal
-highlight CompeDocumentation guifg=NONE guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight WhichKeyFloat guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight WhichKeyGroup guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TabLineFill guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Bold guifg=NONE guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight String guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
highlight! link TabLineInformation LspDiagnosticsSignInformation
-highlight! link TabLineHint LspDiagnosticsSignHint
+highlight mkdLink guifg=#64A6C4 guibg=NONE guisp=NONE gui=underline blend=NONE
+highlight! link TSFunction Function
highlight NvimTreeFolderIcon guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TabLineWarning LspDiagnosticsSignWarning
-highlight LspTroubleIndent guifg=#919191 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link IncSearch Search
-highlight StatusLineLSP guifg=#A3A3A3 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight StatusLineGit guifg=#212121 guibg=#858585 guisp=NONE gui=NONE blend=NONE
+highlight Title guifg=#5486C0 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight! link SignColumn Normal
+highlight! link TSPunctBracket Delimiter
+highlight! link TSCharacter Character
+highlight luaTSConstructor guifg=#9092A2 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Keyword guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Statement Keyword
+highlight MoreMsg guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSURI guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight SpellCap guifg=#C7C8D1 guibg=NONE guisp=#EEBA59 gui=underline blend=NONE
+highlight GitSignsAdd guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsFloatingInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Special guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Comment guifg=#858585 guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight Folded guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link TSStringEscape Character
+highlight! link markdownLinkDelimiter Delimiter
+highlight LspDiagnosticsDefaultWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Conditional Keyword
+highlight Search guifg=#C7C8D1 guibg=#67899E guisp=NONE gui=NONE blend=NONE
+highlight Italic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight CursorLineNr guifg=#C7C8C0 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight! link VisualNOS Visual
+highlight DiffChange guifg=NONE guibg=#0C7D9D guisp=NONE gui=NONE blend=NONE
highlight! link ColorColumn CursorLine
-highlight StatusLineLCol guifg=#C7C8D1 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight StatusLineMode guifg=#212121 guibg=#858585 guisp=NONE gui=bold blend=NONE
-highlight StatusLineNC guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight StatusLine guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight FlutterWidgetGuides guifg=#919191 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSBoolean Boolean
+highlight! link markdownLinkTextDelimiter Delimiter
+highlight SpellBad guifg=#C7C8D1 guibg=NONE guisp=#AF4B57 gui=underline blend=NONE
+highlight StatusLineGitChange guifg=#5486C0 guibg=#292929 guisp=NONE gui=NONE blend=NONE
highlight! link TSInclude Include
-highlight! link TSFuncMacro Macro
-highlight! link markdownLinkDelimiter Delimiter
-highlight Function guifg=#EEBA59 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link mkdInlineURL mkdLink
-highlight! link TSFloat Float
-highlight TabLineSel guifg=#292929 guibg=#5486C0 guisp=NONE gui=NONE blend=NONE
-highlight TSError guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight SignChange guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSConstMacro Macro
-highlight! link markdownIdDelimiter Delimiter
-highlight! link markdownUrl mkdLink
-highlight! link Question MoreMsg
-highlight BufferCurrentTarget guifg=#AF4B57 guibg=#212121 guisp=NONE gui=bold blend=NONE
-highlight StatusLineFT guifg=#C7C8D1 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight BufferCurrentMod guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight BufferCurrentIndex guifg=#64A6C4 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight! link Include Keyword
+highlight SpellLocal guifg=#C7C8D1 guibg=NONE guisp=#87B479 gui=underline blend=NONE
highlight! link NvimTreeOpenedFile NvimTreeOpenedFolderName
-highlight SignDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight SignAdd guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferCurrentSign guifg=#64A6C4 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight Bold guifg=NONE guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight Todo guifg=#AF4B57 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight! link SignColumn Normal
+highlight! link TSSymbol Identifier
+highlight! link TSConstMacro Macro
+highlight! link TSTitle Title
+highlight PmenuThumb guifg=NONE guibg=#C7C8D1 guisp=NONE gui=NONE blend=NONE
+highlight SignChange guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Delimiter guifg=#9092A2 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TelescopeBorder guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeFolderName guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline blend=NONE
highlight! link ModeMsg Normal
+highlight LspDiagnosticsUnderlineError guifg=NONE guibg=NONE guisp=#AF4B57 gui=underline blend=NONE
+highlight NvimTreeExecFile guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight IndentBlanklineContextChar guifg=#6B6B6B guibg=NONE guisp=NONE gui=NONE blend=NONE
highlight! link MsgArea Normal
-highlight! link MsgSeparator Normal
-highlight SpellBad guifg=#C7C8D1 guibg=NONE guisp=#AF4B57 gui=underline blend=NONE
-highlight SpellCap guifg=#C7C8D1 guibg=NONE guisp=#EEBA59 gui=underline blend=NONE
-highlight SpellLocal guifg=#C7C8D1 guibg=NONE guisp=#87B479 gui=underline blend=NONE
-highlight SpellRare guifg=#C7C8D1 guibg=NONE guisp=#5486C0 gui=underline blend=NONE
-highlight! link NormalNC Normal
-highlight Pmenu guifg=#C7C8D1 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight PmenuSel guifg=#262626 guibg=#67899E guisp=NONE gui=NONE blend=NONE
-highlight! link WildMenu PmenuSel
-highlight CursorLineNr guifg=#C7C8C0 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight markdownLinkText guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Folded guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight FoldColumn guifg=#858585 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight TabLineSel guifg=#292929 guibg=#5486C0 guisp=NONE gui=NONE blend=NONE
+highlight! link TSConditional Conditional
+highlight BufferCurrentSign guifg=#64A6C4 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight TSField guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
highlight LineNr guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight FloatBorder guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight Whitespace guifg=#575757 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NormalFloat guifg=NONE guibg=#292D32 guisp=NONE gui=NONE blend=NONE
-highlight Visual guifg=NONE guibg=#2C2F35 guisp=NONE gui=NONE blend=NONE
-highlight! link VisualNOS Visual
-highlight DiffText guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link QuickFixLine CursorLine
+highlight WhichKeyDesc guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Constant guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSAnnotation guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight BufferInactiveSign guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link mkdInlineURL mkdLink
+highlight mkdUnderline guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link LspDiagnosticsError LspDiagnosticsSignError
+highlight Boolean guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
highlight PmenuSbar guifg=NONE guibg=#535A65 guisp=NONE gui=NONE blend=NONE
-highlight PmenuThumb guifg=NONE guibg=#C7C8D1 guisp=NONE gui=NONE blend=NONE
-highlight MatchParen guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse blend=NONE
-highlight! link lCursor Cursor
-highlight! link CursorIM Cursor
-highlight! link TermCursor Cursor
-highlight! link TermCursorNC Cursor
-highlight Conceal guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-
+highlight StatusLineGit guifg=#C67158 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight StatusLineGitAdd guifg=#87B479 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight StatusLineLspDiagnosticsInformation guifg=#FFCC66 guibg=#292929 guisp=NONE gui=NONE blend=NONE
diff --git a/ftdetect/zig.lua b/ftdetect/zig.lua
index 81e901ca..7edf1f68 100644
--- a/ftdetect/zig.lua
+++ b/ftdetect/zig.lua
@@ -1,4 +1,4 @@
-vim.cmd([[
+vim.cmd [[
au BufRead,BufNewFile *.zig set filetype=zig
au BufRead,BufNewFile *.zir set filetype=zir
-]])
+]]
diff --git a/ftplugin/c.lua b/ftplugin/c.lua
index a2324986..7443cabe 100644
--- a/ftplugin/c.lua
+++ b/ftplugin/c.lua
@@ -1,31 +1,20 @@
-local clangd_flags = {"--background-index"};
+local clangd_flags = { "--background-index" }
if O.lang.clang.cross_file_rename then
- table.insert(clangd_flags, "--cross-file-rename")
+ table.insert(clangd_flags, "--cross-file-rename")
end
table.insert(clangd_flags, "--header-insertion=" .. O.lang.clang.header_insertion)
-require'lspconfig'.clangd.setup {
- cmd = {DATA_PATH .. "/lspinstall/cpp/clangd/bin/clangd", unpack(clangd_flags)},
- on_attach = require'lsp'.common_on_attach,
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
- virtual_text = O.lang.clang.diagnostics.virtual_text,
- signs = O.lang.clang.diagnostics.signs,
- underline = O.lang.clang.diagnostics.underline,
- update_in_insert = true
-
- })
- }
+require("lspconfig").clangd.setup {
+ cmd = { DATA_PATH .. "/lspinstall/cpp/clangd/bin/clangd", unpack(clangd_flags) },
+ on_attach = require("lsp").common_on_attach,
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.clang.diagnostics.virtual_text,
+ signs = O.lang.clang.diagnostics.signs,
+ underline = O.lang.clang.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
}
-
-if O.lang.clang.autoformat then
- require('lv-utils').define_augroups({
- _clang_autoformat = {
- {'BufWritePre *.c lua vim.lsp.buf.formatting_sync(nil,1000)'},
- {'BufWritePre *.h lua vim.lsp.buf.formatting_sync(nil,1000)'},
- {'BufWritePre *.cpp lua vim.lsp.buf.formatting_sync(nil,1000)'},
- {'BufWritePre *.hpp lua vim.lsp.buf.formatting_sync(nil,1000)'},
- }})
-end
diff --git a/ftplugin/cmake.lua b/ftplugin/cmake.lua
index a9647118..1b61ffb2 100644
--- a/ftplugin/cmake.lua
+++ b/ftplugin/cmake.lua
@@ -1,5 +1,5 @@
-require'lspconfig'.cmake.setup {
- cmd = {DATA_PATH .. '/lspinstall/cmake/venv/bin/cmake-language-server'},
- on_attach = require'lsp'.common_on_attach,
- filetypes = {"cmake"},
+require("lspconfig").cmake.setup {
+ cmd = { DATA_PATH .. "/lspinstall/cmake/venv/bin/cmake-language-server" },
+ on_attach = require("lsp").common_on_attach,
+ filetypes = { "cmake" },
}
diff --git a/ftplugin/css.lua b/ftplugin/css.lua
index 4affb45e..d51dee70 100644
--- a/ftplugin/css.lua
+++ b/ftplugin/css.lua
@@ -1,9 +1,10 @@
-- npm install -g vscode-css-languageserver-bin
-require'lspconfig'.cssls.setup {
- cmd = {
- "node", DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
- "--stdio"
- },
- on_attach = require'lsp'.common_on_attach
+require("lspconfig").cssls.setup {
+ cmd = {
+ "node",
+ DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
+ "--stdio",
+ },
+ on_attach = require("lsp").common_on_attach,
}
-vim.cmd("setl ts=2 sw=2")
+vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
index fe4898e8..419d0400 100644
--- a/ftplugin/dart.lua
+++ b/ftplugin/dart.lua
@@ -1,11 +1,11 @@
-require'lspconfig'.dartls.setup{
- cmd = { "dart", O.lang.dart.sdk_path, "--lsp" },
- on_attach = require'lsp'.common_on_attach,
- init_options = {
- closingLabels = false,
- flutterOutline = false,
- onlyAnalyzeProjectsWithOpenFiles = false,
- outline = false,
- suggestFromUnimportedLibraries = true
- }
+require("lspconfig").dartls.setup {
+ cmd = { "dart", O.lang.dart.sdk_path, "--lsp" },
+ on_attach = require("lsp").common_on_attach,
+ init_options = {
+ closingLabels = false,
+ flutterOutline = false,
+ onlyAnalyzeProjectsWithOpenFiles = false,
+ outline = false,
+ suggestFromUnimportedLibraries = true,
+ },
}
diff --git a/ftplugin/docker.lua b/ftplugin/docker.lua
deleted file mode 100644
index b477a239..00000000
--- a/ftplugin/docker.lua
+++ /dev/null
@@ -1,6 +0,0 @@
--- npm install -g dockerfile-language-server-nodejs
-require'lspconfig'.dockerls.setup {
- cmd = {DATA_PATH .. "/lspinstall/dockerfile/node_modules/.bin/docker-langserver", "--stdio"},
- on_attach = require'lsp'.common_on_attach,
- root_dir = vim.loop.cwd
-}
diff --git a/ftplugin/dockerfile.lua b/ftplugin/dockerfile.lua
new file mode 100644
index 00000000..37b4317f
--- /dev/null
+++ b/ftplugin/dockerfile.lua
@@ -0,0 +1,6 @@
+-- npm install -g dockerfile-language-server-nodejs
+require("lspconfig").dockerls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/dockerfile/node_modules/.bin/docker-langserver", "--stdio" },
+ on_attach = require("lsp").common_on_attach,
+ root_dir = vim.loop.cwd,
+}
diff --git a/ftplugin/elixir.lua b/ftplugin/elixir.lua
index 362ee010..fbb5b29b 100644
--- a/ftplugin/elixir.lua
+++ b/ftplugin/elixir.lua
@@ -1,5 +1,5 @@
-require'lspconfig'.elixirls.setup{
- cmd = { DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh"};
+require("lspconfig").elixirls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh" },
}
-- needed for the LSP to recognize elixir files (alternativly just use elixir-editors/vim-elixir)
diff --git a/ftplugin/elm.lua b/ftplugin/elm.lua
index 3572a607..ffd97a2a 100644
--- a/ftplugin/elm.lua
+++ b/ftplugin/elm.lua
@@ -1,9 +1,9 @@
-require'lspconfig'.elmls.setup {
- cmd = {DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-language-server"},
- init_options= {
- elmAnalyseTrigger = "change",
- elmFormatPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-format",
- elmPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm",
- elmTestPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-test"
- }
+require("lspconfig").elmls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-language-server" },
+ init_options = {
+ elmAnalyseTrigger = "change",
+ elmFormatPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-format",
+ elmPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm",
+ elmTestPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-test",
+ },
}
diff --git a/ftplugin/euphoria3.lua b/ftplugin/euphoria3.lua
index adc0ac7d..c434c56a 100644
--- a/ftplugin/euphoria3.lua
+++ b/ftplugin/euphoria3.lua
@@ -1,6 +1,6 @@
-- TODO Remove this at some point
-require'lspconfig'.elixirls.setup{
- cmd = { DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh"};
+require("lspconfig").elixirls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh" },
}
-- needed for the LSP to recognize elixir files (alternativly just use elixir-editors/vim-elixir)
diff --git a/ftplugin/go.lua b/ftplugin/go.lua
index b2d6a82a..56b9cacc 100644
--- a/ftplugin/go.lua
+++ b/ftplugin/go.lua
@@ -1,22 +1,12 @@
-require'lspconfig'.gopls.setup {
- cmd = {DATA_PATH .. "/lspinstall/go/gopls"},
- settings = {gopls = {analyses = {unusedparams = true}, staticcheck = true}},
- root_dir = require'lspconfig'.util.root_pattern(".git", "go.mod"),
- init_options = {usePlaceholders = true, completeUnimported = true},
- on_attach = require'lsp'.common_on_attach
+require("lspconfig").gopls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/go/gopls" },
+ settings = { gopls = { analyses = { unusedparams = true }, staticcheck = true } },
+ root_dir = require("lspconfig").util.root_pattern(".git", "go.mod"),
+ init_options = { usePlaceholders = true, completeUnimported = true },
+ on_attach = require("lsp").common_on_attach,
}
-if O.lang.go.autoformat then
- require('lv-utils').define_augroups({
- _go_format = {
- {'BufWritePre', '*.go', 'lua vim.lsp.buf.formatting_sync(nil,1000)'}
- },
- _go = {
- -- Go generally requires Tabs instead of spaces.
- {'FileType', 'go', 'setlocal tabstop=4'},
- {'FileType', 'go', 'setlocal shiftwidth=4'},
- {'FileType', 'go', 'setlocal softtabstop=4'},
- {'FileType', 'go', 'setlocal noexpandtab'}
- }
- })
-end
+vim.opt_local.tabstop = 4
+vim.opt_local.shiftwidth = 4
+vim.opt_local.softtabstop = 4
+vim.opt_local.expandtab = false
diff --git a/ftplugin/graphql.lua b/ftplugin/graphql.lua
index 0bd97ed5..df3dce9b 100644
--- a/ftplugin/graphql.lua
+++ b/ftplugin/graphql.lua
@@ -1,2 +1,2 @@
-- npm install -g graphql-language-service-cli
-require'lspconfig'.graphql.setup {on_attach = require'lsp'.common_on_attach}
+require("lspconfig").graphql.setup { on_attach = require("lsp").common_on_attach }
diff --git a/ftplugin/html.lua b/ftplugin/html.lua
index 26f149d5..312301b1 100644
--- a/ftplugin/html.lua
+++ b/ftplugin/html.lua
@@ -2,9 +2,13 @@
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
-require'lspconfig'.html.setup {
- cmd = {"node", DATA_PATH .. "/lspinstall/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js", "--stdio"},
- on_attach = require'lsp'.common_on_attach,
- capabilities = capabilities
+require("lspconfig").html.setup {
+ cmd = {
+ "node",
+ DATA_PATH .. "/lspinstall/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js",
+ "--stdio",
+ },
+ on_attach = require("lsp").common_on_attach,
+ capabilities = capabilities,
}
-vim.cmd("setl ts=2 sw=2")
+vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/java.lua b/ftplugin/java.lua
index 0b151b66..00ca0091 100644
--- a/ftplugin/java.lua
+++ b/ftplugin/java.lua
@@ -1,4 +1,4 @@
-local util = require 'lspconfig/util'
+local util = require "lspconfig/util"
-- In Vimscript
-- augroup lsp
-- au!
@@ -20,17 +20,17 @@ local util = require 'lspconfig/util'
-- };
local on_attach = function(client, bufr)
- -- require('jdtls').setup_dap()
- require'lsp'.common_on_attach(client, bufr)
+ -- require('jdtls').setup_dap()
+ require("lsp").common_on_attach(client, bufr)
end
-require'lspconfig'.jdtls.setup {
- on_attach = on_attach,
- cmd = {DATA_PATH .. "/lspinstall/java/jdtls.sh"},
- filetypes = { "java" },
- root_dir = util.root_pattern({'.git', 'build.gradle', 'pom.xml'}),
- -- init_options = {bundles = bundles}
- -- on_attach = require'lsp'.common_on_attach
+require("lspconfig").jdtls.setup {
+ on_attach = on_attach,
+ cmd = { DATA_PATH .. "/lspinstall/java/jdtls.sh" },
+ filetypes = { "java" },
+ root_dir = util.root_pattern { ".git", "build.gradle", "pom.xml" },
+ -- init_options = {bundles = bundles}
+ -- on_attach = require'lsp'.common_on_attach
}
-- require('jdtls').start_or_attach({
@@ -41,10 +41,10 @@ require'lspconfig'.jdtls.setup {
-- })
-- TODO setup autoformat stuff later
- -- _java = {
- -- -- {'FileType', 'java', 'luafile '..CONFIG_PATH..'/lua/lsp/java-ls.lua'},
- -- {
- -- 'FileType', 'java',
- -- 'nnoremap ca <Cmd>lua require(\'jdtls\').code_action()<CR>'
- -- }
- -- }
+-- _java = {
+-- -- {'FileType', 'java', 'luafile '..CONFIG_PATH..'/lua/lsp/java-ls.lua'},
+-- {
+-- 'FileType', 'java',
+-- 'nnoremap ca <Cmd>lua require(\'jdtls\').code_action()<CR>'
+-- }
+-- }
diff --git a/ftplugin/javascript.lua b/ftplugin/javascript.lua
index 16254da3..ab370364 100644
--- a/ftplugin/javascript.lua
+++ b/ftplugin/javascript.lua
@@ -7,64 +7,32 @@
-- require'completion'.on_attach(client)
-- require'illuminate'.on_attach(client)
-- end
-require'lspconfig'.tsserver.setup {
- cmd = {
- DATA_PATH ..
- "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
- "--stdio"
- },
- filetypes = {
- "javascript", "javascriptreact", "javascript.jsx", "typescript",
- "typescriptreact", "typescript.tsx"
- },
- on_attach = require'lsp'.tsserver_on_attach,
- -- This makes sure tsserver is not used for formatting (I prefer prettier)
- -- on_attach = require'lsp'.common_on_attach,
- root_dir = require('lspconfig/util').root_pattern("package.json",
- "tsconfig.json",
- "jsconfig.json", ".git"),
- settings = {documentFormatting = false},
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(
- vim.lsp.diagnostic.on_publish_diagnostics, {
- virtual_text = O.lang.tsserver.diagnostics.virtual_text,
- signs = O.lang.tsserver.diagnostics.signs,
- underline = O.lang.tsserver.diagnostics.underline,
- update_in_insert = true
-
- })
- }
+require("lspconfig").tsserver.setup {
+ cmd = {
+ DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ "--stdio",
+ },
+ filetypes = {
+ "javascript",
+ "javascriptreact",
+ "javascript.jsx",
+ "typescript",
+ "typescriptreact",
+ "typescript.tsx",
+ },
+ on_attach = require("lsp").tsserver_on_attach,
+ -- This makes sure tsserver is not used for formatting (I prefer prettier)
+ -- on_attach = require'lsp'.common_on_attach,
+ root_dir = require("lspconfig/util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
+ settings = { documentFormatting = false },
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.tsserver.diagnostics.virtual_text,
+ signs = O.lang.tsserver.diagnostics.signs,
+ underline = O.lang.tsserver.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
}
-
-require'lsp.ts-fmt-lint'.setup()
-
-if O.lang.tsserver.autoformat then
- require('lv-utils').define_augroups({
- _javascript_autoformat = {
- {
-
- 'BufWritePre', '*.js',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _javascriptreact_autoformat = {
- {
- 'BufWritePre', '*.jsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescript_autoformat = {
- {
- 'BufWritePre', '*.ts',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescriptreact_autoformat = {
- {
- 'BufWritePre', '*.tsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
-end
-vim.cmd("setl ts=2 sw=2")
+require("lsp.ts-fmt-lint").setup()
+vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/javascriptreact.lua b/ftplugin/javascriptreact.lua
index 16254da3..ab370364 100644
--- a/ftplugin/javascriptreact.lua
+++ b/ftplugin/javascriptreact.lua
@@ -7,64 +7,32 @@
-- require'completion'.on_attach(client)
-- require'illuminate'.on_attach(client)
-- end
-require'lspconfig'.tsserver.setup {
- cmd = {
- DATA_PATH ..
- "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
- "--stdio"
- },
- filetypes = {
- "javascript", "javascriptreact", "javascript.jsx", "typescript",
- "typescriptreact", "typescript.tsx"
- },
- on_attach = require'lsp'.tsserver_on_attach,
- -- This makes sure tsserver is not used for formatting (I prefer prettier)
- -- on_attach = require'lsp'.common_on_attach,
- root_dir = require('lspconfig/util').root_pattern("package.json",
- "tsconfig.json",
- "jsconfig.json", ".git"),
- settings = {documentFormatting = false},
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(
- vim.lsp.diagnostic.on_publish_diagnostics, {
- virtual_text = O.lang.tsserver.diagnostics.virtual_text,
- signs = O.lang.tsserver.diagnostics.signs,
- underline = O.lang.tsserver.diagnostics.underline,
- update_in_insert = true
-
- })
- }
+require("lspconfig").tsserver.setup {
+ cmd = {
+ DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ "--stdio",
+ },
+ filetypes = {
+ "javascript",
+ "javascriptreact",
+ "javascript.jsx",
+ "typescript",
+ "typescriptreact",
+ "typescript.tsx",
+ },
+ on_attach = require("lsp").tsserver_on_attach,
+ -- This makes sure tsserver is not used for formatting (I prefer prettier)
+ -- on_attach = require'lsp'.common_on_attach,
+ root_dir = require("lspconfig/util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
+ settings = { documentFormatting = false },
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.tsserver.diagnostics.virtual_text,
+ signs = O.lang.tsserver.diagnostics.signs,
+ underline = O.lang.tsserver.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
}
-
-require'lsp.ts-fmt-lint'.setup()
-
-if O.lang.tsserver.autoformat then
- require('lv-utils').define_augroups({
- _javascript_autoformat = {
- {
-
- 'BufWritePre', '*.js',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _javascriptreact_autoformat = {
- {
- 'BufWritePre', '*.jsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescript_autoformat = {
- {
- 'BufWritePre', '*.ts',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescriptreact_autoformat = {
- {
- 'BufWritePre', '*.tsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
-end
-vim.cmd("setl ts=2 sw=2")
+require("lsp.ts-fmt-lint").setup()
+vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/json.lua b/ftplugin/json.lua
index 3a565095..29a3096f 100644
--- a/ftplugin/json.lua
+++ b/ftplugin/json.lua
@@ -1,28 +1,17 @@
-- npm install -g vscode-json-languageserver
-require'lspconfig'.jsonls.setup {
- cmd = {
- "node", DATA_PATH ..
- "/lspinstall/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
- "--stdio"
- },
- on_attach = require'lsp'.common_on_attach,
+require("lspconfig").jsonls.setup {
+ cmd = {
+ "node",
+ DATA_PATH .. "/lspinstall/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
+ "--stdio",
+ },
+ on_attach = require("lsp").common_on_attach,
- commands = {
- Format = {
- function()
- vim.lsp.buf.range_formatting({}, {0, 0}, {vim.fn.line("$"), 0})
- end
- }
- }
+ commands = {
+ Format = {
+ function()
+ vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 })
+ end,
+ },
+ },
}
-
-if O.lang.json.autoformat then
- require('lv-utils').define_augroups({
- _json_format = {
- {
- 'BufWritePre', '*.json',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
-end
diff --git a/ftplugin/kotlin.lua b/ftplugin/kotlin.lua
index fcbb736b..dbd800b9 100644
--- a/ftplugin/kotlin.lua
+++ b/ftplugin/kotlin.lua
@@ -6,31 +6,29 @@
--- https://github.com/udalov/kotlin-vim (recommended)
--- Note that there is no LICENSE specified yet.
-local util = require 'lspconfig/util'
+local util = require "lspconfig/util"
local bin_name = DATA_PATH .. "/lspinstall/kotlin/server/bin/kotlin-language-server"
-if vim.fn.has('win32') == 1 then
- bin_name = bin_name..".bat"
+if vim.fn.has "win32" == 1 then
+ bin_name = bin_name .. ".bat"
end
local root_files = {
- 'settings.gradle', -- Gradle (multi-project)
- 'settings.gradle.kts', -- Gradle (multi-project)
- 'build.xml', -- Ant
- 'pom.xml', -- Maven
+ "settings.gradle", -- Gradle (multi-project)
+ "settings.gradle.kts", -- Gradle (multi-project)
+ "build.xml", -- Ant
+ "pom.xml", -- Maven
}
local fallback_root_files = {
- 'build.gradle', -- Gradle
- 'build.gradle.kts', -- Gradle
+ "build.gradle", -- Gradle
+ "build.gradle.kts", -- Gradle
}
-require'lspconfig'.kotlin_language_server.setup {
- cmd = {bin_name},
- on_attach = require'lsp'.common_on_attach,
- root_dir = function(fname)
- return util.root_pattern(unpack(root_files))(fname) or
- util.root_pattern(unpack(fallback_root_files))(fname)
- end
+require("lspconfig").kotlin_language_server.setup {
+ cmd = { bin_name },
+ on_attach = require("lsp").common_on_attach,
+ root_dir = function(fname)
+ return util.root_pattern(unpack(root_files))(fname) or util.root_pattern(unpack(fallback_root_files))(fname)
+ end,
}
-
diff --git a/ftplugin/lua.lua b/ftplugin/lua.lua
index bd541177..32c24e80 100644
--- a/ftplugin/lua.lua
+++ b/ftplugin/lua.lua
@@ -2,71 +2,41 @@
local sumneko_root_path = DATA_PATH .. "/lspinstall/lua"
local sumneko_binary = sumneko_root_path .. "/sumneko-lua-language-server"
-require'lspconfig'.sumneko_lua.setup {
- cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"},
- on_attach = require'lsp'.common_on_attach,
- 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 = vim.split(package.path, ';')
- },
- diagnostics = {
- -- Get the language server to recognize the `vim` global
- globals = {'vim'}
- },
- workspace = {
- -- Make the server aware of Neovim runtime files
- library = {
- [vim.fn.expand('$VIMRUNTIME/lua')] = true,
- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true
- },
- maxPreload = 100000,
- preloadFileSize = 1000
- }
- }
- }
+require("lspconfig").sumneko_lua.setup {
+ cmd = { sumneko_binary, "-E", sumneko_root_path .. "/main.lua" },
+ on_attach = require("lsp").common_on_attach,
+ 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 = vim.split(package.path, ";"),
+ },
+ diagnostics = {
+ -- Get the language server to recognize the `vim` global
+ globals = { "vim" },
+ },
+ workspace = {
+ -- Make the server aware of Neovim runtime files
+ library = {
+ [vim.fn.expand "$VIMRUNTIME/lua"] = true,
+ [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true,
+ },
+ maxPreload = 100000,
+ preloadFileSize = 1000,
+ },
+ },
+ },
}
if O.lang.lua.autoformat then
- require('lv-utils').define_augroups({
- _lua_autoformat = {
- {
- 'BufWritePre', '*.lua',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
+ require("lv-utils").define_augroups {
+ _lua_autoformat = {
+ {
+ "BufWritePre",
+ "*.lua",
+ "lua vim.lsp.buf.formatting_sync(nil, 1000)",
+ },
+ },
+ }
end
-
-local lua_arguments = {}
-
-local luaFormat = {
- formatCommand = "lua-format -i --no-keep-simple-function-one-line --column-limit=80",
- formatStdin = true
-}
-
-local lua_fmt = {
- formatCommand = "luafmt --indent-count 2 --line-width 120 --stdin",
- formatStdin = true
-}
-
-if O.lang.lua.formatter == 'lua-format' then
- table.insert(lua_arguments, luaFormat)
-elseif O.lang.lua.formatter == 'lua-fmt' then
- table.insert(lua_arguments, lua_fmt)
-end
-
-require"lspconfig".efm.setup {
- -- init_options = {initializationOptions},
- cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
- init_options = {documentFormatting = true, codeAction = false},
- filetypes = {"lua"},
- settings = {
- rootMarkers = {".git/"},
- languages = {
- lua = lua_arguments,
- }
- }
-}
diff --git a/ftplugin/php.lua b/ftplugin/php.lua
index abc90092..4dc8e9e0 100644
--- a/ftplugin/php.lua
+++ b/ftplugin/php.lua
@@ -1,4 +1,23 @@
-require'lspconfig'.intelephense.setup {
- cmd = { DATA_PATH .. "/lspinstall/php/node_modules/.bin/intelephense", "--stdio" },
- on_attach = require'lsp'.common_on_attach
-} \ No newline at end of file
+require("lspconfig").intelephense.setup {
+ cmd = { DATA_PATH .. "/lspinstall/php/node_modules/.bin/intelephense", "--stdio" },
+ on_attach = require("lsp").common_on_attach,
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.php.diagnostics.virtual_text,
+ signs = O.lang.php.diagnostics.signs,
+ underline = O.lang.php.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
+ filetypes = O.lang.php.filetypes,
+ settings = {
+ intelephense = {
+ format = {
+ braces = O.lang.php.format.braces,
+ },
+ environment = {
+ phpVersion = O.lang.php.environment.php_version,
+ },
+ },
+ },
+}
diff --git a/ftplugin/python.lua b/ftplugin/python.lua
index 23e54880..a9b41648 100644
--- a/ftplugin/python.lua
+++ b/ftplugin/python.lua
@@ -2,86 +2,64 @@ local python_arguments = {}
-- TODO replace with path argument
local flake8 = {
- LintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -",
- lintStdin = true,
- lintFormats = {"%f:%l:%c: %m"}
+ LintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -",
+ lintStdin = true,
+ lintFormats = { "%f:%l:%c: %m" },
}
-local isort = {formatCommand = "isort --quiet -", formatStdin = true}
+local isort = { formatCommand = "isort --quiet -", formatStdin = true }
-local yapf = {formatCommand = "yapf --quiet", formatStdin = true}
-local black = {formatCommand = "black --quiet -", formatStdin = true}
+local yapf = { formatCommand = "yapf --quiet", formatStdin = true }
+local black = { formatCommand = "black --quiet -", formatStdin = true }
-if O.lang.python.linter == 'flake8' then table.insert(python_arguments, flake8) end
-
-if O.lang.python.isort then table.insert(python_arguments, isort) end
+if O.lang.python.linter == "flake8" then
+ table.insert(python_arguments, flake8)
+end
-if O.lang.python.formatter == 'yapf' then
- table.insert(python_arguments, yapf)
-elseif O.lang.python.formatter == 'black' then
- table.insert(python_arguments, black)
+if O.lang.python.isort then
+ table.insert(python_arguments, isort)
end
-require"lspconfig".efm.setup {
- -- init_options = {initializationOptions},
- cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
- init_options = {documentFormatting = true, codeAction = false},
- filetypes = {"python"},
- settings = {
- rootMarkers = {".git/", "requirements.txt"},
- languages = {
- python = python_arguments,
- }
- }
+require("lspconfig").efm.setup {
+ -- init_options = {initializationOptions},
+ cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" },
+ init_options = { documentFormatting = true, codeAction = false },
+ filetypes = { "python" },
+ settings = {
+ rootMarkers = { ".git/", "requirements.txt" },
+ languages = {
+ python = python_arguments,
+ },
+ },
}
-
-
-
-
-
-
-
-
-
-
-
-
-- npm i -g pyright
-require'lspconfig'.pyright.setup {
- cmd = {
- DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver",
- "--stdio"
+require("lspconfig").pyright.setup {
+ cmd = {
+ DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver",
+ "--stdio",
+ },
+ on_attach = require("lsp").common_on_attach,
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.python.diagnostics.virtual_text,
+ signs = O.lang.python.diagnostics.signs,
+ underline = O.lang.python.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
+ settings = {
+ python = {
+ analysis = {
+ typeCheckingMode = O.lang.python.analysis.type_checking,
+ autoSearchPaths = O.lang.python.analysis.auto_search_paths,
+ useLibraryCodeForTypes = O.lang.python.analysis.use_library_code_types,
+ },
},
- on_attach = require'lsp'.common_on_attach,
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic
- .on_publish_diagnostics,
- {
- virtual_text = O.lang.python.diagnostics.virtual_text,
- signs = O.lang.python.diagnostics.signs,
- underline = O.lang.python.diagnostics.underline,
- update_in_insert = true
- })
- },
- settings = {
- python = {
- analysis = {
- typeCheckingMode = O.lang.python.analysis.type_checking,
- autoSearchPaths = O.lang.python.analysis.auto_search_paths,
- useLibraryCodeForTypes = O.lang.python.analysis
- .use_library_code_types
- }
- }
- }
+ },
}
-if O.lang.python.autoformat then
- require('lv-utils').define_augroups({
- _python_autoformat = {
- {
- 'BufWritePre', '*.py',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
+
+if O.plugin.debug.active and O.plugin.dap_install.active then
+ local dap_install = require("dap-install")
+ dap_install.config("python_dbg", {})
end
diff --git a/ftplugin/ruby.lua b/ftplugin/ruby.lua
index f46a71f8..bc844cd3 100644
--- a/ftplugin/ruby.lua
+++ b/ftplugin/ruby.lua
@@ -1,24 +1,14 @@
-- If you are using rvm, make sure to change below configuration
-require'lspconfig'.solargraph.setup {
- cmd = {DATA_PATH .. "/lspinstall/ruby/solargraph/solargraph", "--stdio"},
- on_attach = require'lsp'.common_on_attach,
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(
- vim.lsp.diagnostic.on_publish_diagnostics, {
- virtual_text = O.lang.ruby.diagnostics.virtual_text,
- signs = O.lang.ruby.diagnostics.signs,
- underline = O.lang.ruby.diagnostics.underline,
- update_in_insert = true
-
- })
- },
- filetypes = O.lang.ruby.filetypes
+require("lspconfig").solargraph.setup {
+ cmd = { DATA_PATH .. "/lspinstall/ruby/solargraph/solargraph", "stdio" },
+ on_attach = require("lsp").common_on_attach,
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.ruby.diagnostics.virtual_text,
+ signs = O.lang.ruby.diagnostics.signs,
+ underline = O.lang.ruby.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
+ filetypes = O.lang.ruby.filetypes,
}
-
-if O.lang.ruby.autoformat then
- require('lv-utils').define_augroups({
- _ruby_format = {
- {'BufWritePre', '*.rb', 'lua vim.lsp.buf.formatting_sync(nil,1000)'}
- }
- })
-end
diff --git a/ftplugin/rust.lua b/ftplugin/rust.lua
index 2fddb982..2a106e7e 100644
--- a/ftplugin/rust.lua
+++ b/ftplugin/rust.lua
@@ -1,99 +1,93 @@
if O.lang.rust.rust_tools.active then
- local opts = {
- tools = { -- rust-tools options
- -- automatically set inlay hints (type hints)
- -- There is an issue due to which the hints are not applied on the first
- -- opened file. For now, write to the file to trigger a reapplication of
- -- the hints or just run :RustSetInlayHints.
- -- default: true
- autoSetHints = true,
-
- -- whether to show hover actions inside the hover window
- -- this overrides the default hover handler
- -- default: true
- hover_with_actions = true,
-
- runnables = {
- -- whether to use telescope for selection menu or not
- -- default: true
- use_telescope = true
-
- -- rest of the opts are forwarded to telescope
- },
-
- inlay_hints = {
- -- wheter to show parameter hints with the inlay hints or not
- -- default: true
- show_parameter_hints = true,
-
- -- prefix for parameter hints
- -- default: "<-"
- parameter_hints_prefix = "<-",
-
- -- prefix for all the other hints (type, chaining)
- -- default: "=>"
- other_hints_prefix = "=>",
-
- -- whether to align to the lenght of the longest line in the file
- max_len_align = false,
-
- -- padding from the left if max_len_align is true
- max_len_align_padding = 1,
-
- -- whether to align to the extreme right or not
- right_align = false,
-
- -- padding from the right if right_align is true
- right_align_padding = 7
- },
-
- hover_actions = {
- -- the border that is used for the hover window
- -- see vim.api.nvim_open_win()
- border = {
- {"╭", "FloatBorder"}, {"─", "FloatBorder"},
- {"╮", "FloatBorder"}, {"│", "FloatBorder"},
- {"╯", "FloatBorder"}, {"─", "FloatBorder"},
- {"╰", "FloatBorder"}, {"│", "FloatBorder"}
- }
- }
+ local opts = {
+ tools = { -- rust-tools options
+ -- automatically set inlay hints (type hints)
+ -- There is an issue due to which the hints are not applied on the first
+ -- opened file. For now, write to the file to trigger a reapplication of
+ -- the hints or just run :RustSetInlayHints.
+ -- default: true
+ autoSetHints = true,
+
+ -- whether to show hover actions inside the hover window
+ -- this overrides the default hover handler
+ -- default: true
+ hover_with_actions = true,
+
+ runnables = {
+ -- whether to use telescope for selection menu or not
+ -- default: true
+ use_telescope = true,
+
+ -- rest of the opts are forwarded to telescope
+ },
+
+ inlay_hints = {
+ -- wheter to show parameter hints with the inlay hints or not
+ -- default: true
+ show_parameter_hints = true,
+
+ -- prefix for parameter hints
+ -- default: "<-"
+ parameter_hints_prefix = "<-",
+
+ -- prefix for all the other hints (type, chaining)
+ -- default: "=>"
+ other_hints_prefix = "=>",
+
+ -- whether to align to the lenght of the longest line in the file
+ max_len_align = false,
+
+ -- padding from the left if max_len_align is true
+ max_len_align_padding = 1,
+
+ -- whether to align to the extreme right or not
+ right_align = false,
+
+ -- padding from the right if right_align is true
+ right_align_padding = 7,
+ },
+
+ hover_actions = {
+ -- the border that is used for the hover window
+ -- see vim.api.nvim_open_win()
+ border = {
+ { "╭", "FloatBorder" },
+ { "─", "FloatBorder" },
+ { "╮", "FloatBorder" },
+ { "│", "FloatBorder" },
+ { "╯", "FloatBorder" },
+ { "─", "FloatBorder" },
+ { "╰", "FloatBorder" },
+ { "│", "FloatBorder" },
},
-
- -- all the opts to send to nvim-lspconfig
- -- these override the defaults set by rust-tools.nvim
- -- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
- server = {
- cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
- on_attach = require'lsp'.common_on_attach
- } -- rust-analyser options
- }
- require('rust-tools').setup(opts)
-
+ },
+ },
+
+ -- all the opts to send to nvim-lspconfig
+ -- these override the defaults set by rust-tools.nvim
+ -- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
+ server = {
+ cmd = { DATA_PATH .. "/lspinstall/rust/rust-analyzer" },
+ on_attach = require("lsp").common_on_attach,
+ }, -- rust-analyser options
+ }
+ require("rust-tools").setup(opts)
else
-
- require'lspconfig'.rust_analyzer.setup {
- cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
- on_attach = require'lsp'.common_on_attach,
- filetypes = {"rust"},
- root_dir = require'lspconfig.util'.root_pattern("Cargo.toml",
- "rust-project.json")
- }
-
+ require("lspconfig").rust_analyzer.setup {
+ cmd = { DATA_PATH .. "/lspinstall/rust/rust-analyzer" },
+ on_attach = require("lsp").common_on_attach,
+ filetypes = { "rust" },
+ root_dir = require("lspconfig.util").root_pattern("Cargo.toml", "rust-project.json"),
+ }
end
-- TODO fix these mappings
-vim.api.nvim_exec([[
+vim.api.nvim_exec(
+ [[
autocmd Filetype rust nnoremap <leader>lm <Cmd>RustExpandMacro<CR>
autocmd Filetype rust nnoremap <leader>lH <Cmd>RustToggleInlayHints<CR>
autocmd Filetype rust nnoremap <leader>le <Cmd>RustRunnables<CR>
autocmd Filetype rust nnoremap <leader>lh <Cmd>RustHoverActions<CR>
- ]], true)
-
-if O.lang.rust.autoformat then
- require('lv-utils').define_augroups({
- _rust_format = {
- {'BufWritePre', '*.rs', 'lua vim.lsp.buf.formatting_sync(nil,1000)'}
- }
- })
-end
-
+ ]],
+ true
+)
diff --git a/ftplugin/sh.lua b/ftplugin/sh.lua
index 7d9312f6..c146e45f 100644
--- a/ftplugin/sh.lua
+++ b/ftplugin/sh.lua
@@ -1,33 +1,33 @@
-- npm i -g bash-language-server
-require'lspconfig'.bashls.setup {
- cmd = {DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start"},
- on_attach = require'lsp'.common_on_attach,
- filetypes = { "sh", "zsh" }
+require("lspconfig").bashls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start" },
+ on_attach = require("lsp").common_on_attach,
+ filetypes = { "sh", "zsh" },
}
-- sh
local sh_arguments = {}
-local shfmt = {formatCommand = 'shfmt -ci -s -bn', formatStdin = true}
+local shfmt = { formatCommand = "shfmt -ci -s -bn", formatStdin = true }
local shellcheck = {
- LintCommand = 'shellcheck -f gcc -x',
- lintFormats = {'%f:%l:%c: %trror: %m', '%f:%l:%c: %tarning: %m', '%f:%l:%c: %tote: %m'}
+ LintCommand = "shellcheck -f gcc -x",
+ lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" },
}
-if O.lang.sh.formatter == 'shfmt' then table.insert(sh_arguments, shfmt) end
+if O.lang.sh.linter == "shellcheck" then
+ table.insert(sh_arguments, shellcheck)
+end
-if O.lang.sh.linter == 'shellcheck' then table.insert(sh_arguments, shellcheck) end
-
-require"lspconfig".efm.setup {
- -- init_options = {initializationOptions},
- cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
- init_options = {documentFormatting = true, codeAction = false},
- filetypes = {"sh"},
- settings = {
- rootMarkers = {".git/"},
- languages = {
- sh = sh_arguments,
- }
- }
+require("lspconfig").efm.setup {
+ -- init_options = {initializationOptions},
+ cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" },
+ init_options = { documentFormatting = true, codeAction = false },
+ filetypes = { "sh" },
+ settings = {
+ rootMarkers = { ".git/" },
+ languages = {
+ sh = sh_arguments,
+ },
+ },
}
diff --git a/ftplugin/tex.lua b/ftplugin/tex.lua
index 179c143c..71c484f7 100644
--- a/ftplugin/tex.lua
+++ b/ftplugin/tex.lua
@@ -1,4 +1,4 @@
-require'lspconfig'.texlab.setup{
- cmd = {DATA_PATH .. "/lspinstall/latex/texlab"},
- on_attach = require'lsp'.common_on_attach
+require("lspconfig").texlab.setup {
+ cmd = { DATA_PATH .. "/lspinstall/latex/texlab" },
+ on_attach = require("lsp").common_on_attach,
}
diff --git a/ftplugin/tf.lua b/ftplugin/tf.lua
index a2e751a4..d46affd5 100644
--- a/ftplugin/tf.lua
+++ b/ftplugin/tf.lua
@@ -1,5 +1,5 @@
-require'lspconfig'.terraformls.setup{
- cmd = {DATA_PATH .. "/lspinstall/terraform/terraform-ls", "serve"},
- on_attach = require'lsp'.common_on_attach,
- filetypes = { "tf", "terraform", "hcl" }
+require("lspconfig").terraformls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/terraform/terraform-ls", "serve" },
+ on_attach = require("lsp").common_on_attach,
+ filetypes = { "tf", "terraform", "hcl" },
}
diff --git a/ftplugin/typescript.lua b/ftplugin/typescript.lua
index 16254da3..ab370364 100644
--- a/ftplugin/typescript.lua
+++ b/ftplugin/typescript.lua
@@ -7,64 +7,32 @@
-- require'completion'.on_attach(client)
-- require'illuminate'.on_attach(client)
-- end
-require'lspconfig'.tsserver.setup {
- cmd = {
- DATA_PATH ..
- "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
- "--stdio"
- },
- filetypes = {
- "javascript", "javascriptreact", "javascript.jsx", "typescript",
- "typescriptreact", "typescript.tsx"
- },
- on_attach = require'lsp'.tsserver_on_attach,
- -- This makes sure tsserver is not used for formatting (I prefer prettier)
- -- on_attach = require'lsp'.common_on_attach,
- root_dir = require('lspconfig/util').root_pattern("package.json",
- "tsconfig.json",
- "jsconfig.json", ".git"),
- settings = {documentFormatting = false},
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(
- vim.lsp.diagnostic.on_publish_diagnostics, {
- virtual_text = O.lang.tsserver.diagnostics.virtual_text,
- signs = O.lang.tsserver.diagnostics.signs,
- underline = O.lang.tsserver.diagnostics.underline,
- update_in_insert = true
-
- })
- }
+require("lspconfig").tsserver.setup {
+ cmd = {
+ DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ "--stdio",
+ },
+ filetypes = {
+ "javascript",
+ "javascriptreact",
+ "javascript.jsx",
+ "typescript",
+ "typescriptreact",
+ "typescript.tsx",
+ },
+ on_attach = require("lsp").tsserver_on_attach,
+ -- This makes sure tsserver is not used for formatting (I prefer prettier)
+ -- on_attach = require'lsp'.common_on_attach,
+ root_dir = require("lspconfig/util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
+ settings = { documentFormatting = false },
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.tsserver.diagnostics.virtual_text,
+ signs = O.lang.tsserver.diagnostics.signs,
+ underline = O.lang.tsserver.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
}
-
-require'lsp.ts-fmt-lint'.setup()
-
-if O.lang.tsserver.autoformat then
- require('lv-utils').define_augroups({
- _javascript_autoformat = {
- {
-
- 'BufWritePre', '*.js',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _javascriptreact_autoformat = {
- {
- 'BufWritePre', '*.jsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescript_autoformat = {
- {
- 'BufWritePre', '*.ts',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescriptreact_autoformat = {
- {
- 'BufWritePre', '*.tsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
-end
-vim.cmd("setl ts=2 sw=2")
+require("lsp.ts-fmt-lint").setup()
+vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/typescriptreact.lua b/ftplugin/typescriptreact.lua
index 16254da3..ab370364 100644
--- a/ftplugin/typescriptreact.lua
+++ b/ftplugin/typescriptreact.lua
@@ -7,64 +7,32 @@
-- require'completion'.on_attach(client)
-- require'illuminate'.on_attach(client)
-- end
-require'lspconfig'.tsserver.setup {
- cmd = {
- DATA_PATH ..
- "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
- "--stdio"
- },
- filetypes = {
- "javascript", "javascriptreact", "javascript.jsx", "typescript",
- "typescriptreact", "typescript.tsx"
- },
- on_attach = require'lsp'.tsserver_on_attach,
- -- This makes sure tsserver is not used for formatting (I prefer prettier)
- -- on_attach = require'lsp'.common_on_attach,
- root_dir = require('lspconfig/util').root_pattern("package.json",
- "tsconfig.json",
- "jsconfig.json", ".git"),
- settings = {documentFormatting = false},
- handlers = {
- ["textDocument/publishDiagnostics"] = vim.lsp.with(
- vim.lsp.diagnostic.on_publish_diagnostics, {
- virtual_text = O.lang.tsserver.diagnostics.virtual_text,
- signs = O.lang.tsserver.diagnostics.signs,
- underline = O.lang.tsserver.diagnostics.underline,
- update_in_insert = true
-
- })
- }
+require("lspconfig").tsserver.setup {
+ cmd = {
+ DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
+ "--stdio",
+ },
+ filetypes = {
+ "javascript",
+ "javascriptreact",
+ "javascript.jsx",
+ "typescript",
+ "typescriptreact",
+ "typescript.tsx",
+ },
+ on_attach = require("lsp").tsserver_on_attach,
+ -- This makes sure tsserver is not used for formatting (I prefer prettier)
+ -- on_attach = require'lsp'.common_on_attach,
+ root_dir = require("lspconfig/util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
+ settings = { documentFormatting = false },
+ handlers = {
+ ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+ virtual_text = O.lang.tsserver.diagnostics.virtual_text,
+ signs = O.lang.tsserver.diagnostics.signs,
+ underline = O.lang.tsserver.diagnostics.underline,
+ update_in_insert = true,
+ }),
+ },
}
-
-require'lsp.ts-fmt-lint'.setup()
-
-if O.lang.tsserver.autoformat then
- require('lv-utils').define_augroups({
- _javascript_autoformat = {
- {
-
- 'BufWritePre', '*.js',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _javascriptreact_autoformat = {
- {
- 'BufWritePre', '*.jsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescript_autoformat = {
- {
- 'BufWritePre', '*.ts',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- },
- _typescriptreact_autoformat = {
- {
- 'BufWritePre', '*.tsx',
- 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
- }
- }
- })
-end
-vim.cmd("setl ts=2 sw=2")
+require("lsp.ts-fmt-lint").setup()
+vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/vim.lua b/ftplugin/vim.lua
index 39beb119..449210b9 100644
--- a/ftplugin/vim.lua
+++ b/ftplugin/vim.lua
@@ -1,5 +1,5 @@
-- npm install -g vim-language-server
-require'lspconfig'.vimls.setup {
- cmd = {DATA_PATH .. "/lspinstall/vim/node_modules/.bin/vim-language-server", "--stdio"},
- on_attach = require'lsp'.common_on_attach
+require("lspconfig").vimls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/vim/node_modules/.bin/vim-language-server", "--stdio" },
+ on_attach = require("lsp").common_on_attach,
}
diff --git a/ftplugin/vue.lua b/ftplugin/vue.lua
index 66fba01e..6787d12f 100644
--- a/ftplugin/vue.lua
+++ b/ftplugin/vue.lua
@@ -1,5 +1,5 @@
-require('lspconfig').vuels.setup {
- cmd = {DATA_PATH .. "/lspinstall/vue/node_modules/.bin/vls", "--stdio"},
- on_attach = require'lsp'.common_on_attach,
- root_dir = require('lspconfig').util.root_pattern(".git", ".")
+require("lspconfig").vuels.setup {
+ cmd = { DATA_PATH .. "/lspinstall/vue/node_modules/.bin/vls", "--stdio" },
+ on_attach = require("lsp").common_on_attach,
+ root_dir = require("lspconfig").util.root_pattern(".git", "."),
}
diff --git a/ftplugin/yaml.lua b/ftplugin/yaml.lua
index 7b6f9a25..e2847365 100644
--- a/ftplugin/yaml.lua
+++ b/ftplugin/yaml.lua
@@ -1,6 +1,6 @@
-- npm install -g yaml-language-server
-require'lspconfig'.yamlls.setup{
- cmd = {DATA_PATH .. "/lspinstall/yaml/node_modules/.bin/yaml-language-server", "--stdio"},
- on_attach = require'lsp'.common_on_attach,
+require("lspconfig").yamlls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/yaml/node_modules/.bin/yaml-language-server", "--stdio" },
+ on_attach = require("lsp").common_on_attach,
}
-vim.cmd("setl ts=2 sw=2 ts=2 ai et")
+vim.cmd "setl ts=2 sw=2 ts=2 ai et"
diff --git a/ftplugin/zig.lua b/ftplugin/zig.lua
index 06217ddd..92b4120d 100644
--- a/ftplugin/zig.lua
+++ b/ftplugin/zig.lua
@@ -1,15 +1,14 @@
-- Because lspinstall don't support zig yet,
-- So we need zls preset in global lib
--- Further custom install zls in
+-- Further custom install zls in
-- https://github.com/zigtools/zls/wiki/Downloading-and-Building-ZLS
-require'lspconfig'.zls.setup{
- root_dir = require'lspconfig'.util.root_pattern(".git", "build.zig", "zls.json"),
- on_attach = require'lsp'.common_on_attach,
+require("lspconfig").zls.setup {
+ root_dir = require("lspconfig").util.root_pattern(".git", "build.zig", "zls.json"),
+ on_attach = require("lsp").common_on_attach,
}
-require('lv-utils').define_augroups({
- _zig_autoformat = {
- {'BufWritePre', '*.zig', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'},
- {'BufEnter', '*.zig', ':lua vim.api.nvim_buf_set_option(0, "commentstring", "// %s")'}
- }
-})
-vim.cmd("setl expandtab tabstop=8 softtabstop=4 shiftwidth=4")
+require("lv-utils").define_augroups {
+ _zig_autoformat = {
+ { "BufEnter", "*.zig", ':lua vim.api.nvim_buf_set_option(0, "commentstring", "// %s")' },
+ },
+}
+vim.cmd "setl expandtab tabstop=8 softtabstop=4 shiftwidth=4"
diff --git a/ftplugin/zsh.lua b/ftplugin/zsh.lua
index 7e99ebd3..b6fa9d5d 100644
--- a/ftplugin/zsh.lua
+++ b/ftplugin/zsh.lua
@@ -1,40 +1,38 @@
-- npm i -g bash-language-server
-require'lspconfig'.bashls.setup {
- cmd = {DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start"},
- on_attach = require'lsp'.common_on_attach,
- filetypes = { "sh", "zsh" }
+require("lspconfig").bashls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start" },
+ on_attach = require("lsp").common_on_attach,
+ filetypes = { "sh", "zsh" },
}
-- npm i -g bash-language-server
-require'lspconfig'.bashls.setup {
- cmd = {DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start"},
- on_attach = require'lsp'.common_on_attach,
- filetypes = { "sh", "zsh" }
+require("lspconfig").bashls.setup {
+ cmd = { DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start" },
+ on_attach = require("lsp").common_on_attach,
+ filetypes = { "sh", "zsh" },
}
-- sh
local sh_arguments = {}
-local shfmt = {formatCommand = 'shfmt -ci -s -bn', formatStdin = true}
-
local shellcheck = {
- LintCommand = 'shellcheck -f gcc -x',
- lintFormats = {'%f:%l:%c: %trror: %m', '%f:%l:%c: %tarning: %m', '%f:%l:%c: %tote: %m'}
+ LintCommand = "shellcheck -f gcc -x",
+ lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" },
}
-if O.lang.sh.formatter == 'shfmt' then table.insert(sh_arguments, shfmt) end
-
-if O.lang.sh.linter == 'shellcheck' then table.insert(sh_arguments, shellcheck) end
+if O.lang.sh.linter == "shellcheck" then
+ table.insert(sh_arguments, shellcheck)
+end
-require"lspconfig".efm.setup {
- -- init_options = {initializationOptions},
- cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
- init_options = {documentFormatting = true, codeAction = false},
- filetypes = {"zsh"},
- settings = {
- rootMarkers = {".git/"},
- languages = {
- sh = sh_arguments,
- }
- }
+require("lspconfig").efm.setup {
+ -- init_options = {initializationOptions},
+ cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" },
+ init_options = { documentFormatting = true, codeAction = false },
+ filetypes = { "zsh" },
+ settings = {
+ rootMarkers = { ".git/" },
+ languages = {
+ sh = sh_arguments,
+ },
+ },
}
diff --git a/init.lua b/init.lua
index 7f79b3bc..2b5a9515 100644
--- a/init.lua
+++ b/init.lua
@@ -1,13 +1,26 @@
-require('default-config')
-vim.cmd('luafile ' .. CONFIG_PATH .. '/lv-config.lua')
-require('settings')
-require('plugins')
-vim.g.colors_name = O.colorscheme
-vim.g.syntax = true
-require('lv-utils')
-require('keymappings')
-require('lv-galaxyline')
-require('lv-treesitter')
-require('lv-which-key')
-require('lsp')
-if O.lang.emmet.active then require('lsp.emmet-ls') end
+require "default-config"
+require "keymappings"
+vim.cmd("luafile " .. CONFIG_PATH .. "/lv-config.lua")
+require "settings"
+require "plugins"
+require "lv-utils"
+require "lv-galaxyline"
+require "lv-treesitter"
+require "lv-which-key"
+require "lsp"
+if O.lang.emmet.active then
+ require "lsp.emmet-ls"
+end
+
+-- autoformat
+if O.format_on_save then
+ require("lv-utils").define_augroups {
+ autoformat = {
+ {
+ "BufWritePre",
+ "*",
+ [[try | undojoin | Neoformat | catch /^Vim\%((\a\+)\)\=:E790/ | finally | silent Neoformat | endtry]],
+ },
+ },
+ }
+end
diff --git a/lua/default-config.lua b/lua/default-config.lua
index 28a95bef..e05fc9e3 100644
--- a/lua/default-config.lua
+++ b/lua/default-config.lua
@@ -1,264 +1,243 @@
-CONFIG_PATH = vim.fn.stdpath('config')
-DATA_PATH = vim.fn.stdpath('data')
-CACHE_PATH = vim.fn.stdpath('cache')
-TERMINAL = vim.fn.expand('$TERMINAL')
+CONFIG_PATH = vim.fn.stdpath "config"
+DATA_PATH = vim.fn.stdpath "data"
+CACHE_PATH = vim.fn.stdpath "cache"
+TERMINAL = vim.fn.expand "$TERMINAL"
O = {
- auto_close_tree = 0,
- auto_complete = true,
- colorscheme = 'lunar',
- hidden_files = true,
- wrap_lines = false,
- number = true,
- relative_number = true,
- cursorline = true,
- shell = 'bash',
- timeoutlen = 100,
- nvim_tree_disable_netrw = 0,
- extras = false,
- ignore_case = true,
- smart_case = true,
- lushmode = false,
- hl_search = false,
- transparent_window = false;
- leader_key = "space";
+ format_on_save = true,
+ auto_close_tree = 0,
+ auto_complete = true,
+ colorscheme = "lunar",
+ hidden_files = true,
+ wrap_lines = false,
+ number = true,
+ relative_number = true,
+ cursorline = true,
+ shell = "bash",
+ timeoutlen = 100,
+ nvim_tree_disable_netrw = 0,
+ ignore_case = true,
+ smart_case = true,
+ lushmode = false,
+ hl_search = false,
+ transparent_window = false,
+ leader_key = "space",
+ vnsip_dir = vim.fn.stdpath "config" .. "/snippets",
- -- @usage pass a table with your desired languages
- treesitter = {
- ensure_installed = "all",
- ignore_install = {"haskell"},
- highlight = {enabled = true},
- rainbow = {enabled = false}
- },
+ -- @usage pass a table with your desired languages
+ treesitter = {
+ ensure_installed = "all",
+ ignore_install = { "haskell" },
+ highlight = { enabled = true },
+ rainbow = { enabled = false },
+ },
- database = {save_location = '~/.config/nvcode_db', auto_execute = 1},
+ lsp = {
+ popup_border = "single",
+ },
- plugin = {
- hop = {active = false},
- dial = {active = false},
- dashboard = {active = false},
- matchup = {active = false},
- colorizer = {active = false},
- numb = {active = false},
- zen = {active = false},
- ts_playground = {active = false},
- indent_line = {active = false},
- ts_context_commentstring = {active = false},
- symbol_outline = {active = false},
- debug = {active = false},
- bqf = {active = false},
- trouble = {active = false},
- floatterm = {active = false},
- spectre = {active = false},
- lsp_rooter = {active = false},
- markdown_preview = {active = false},
- codi = {active = false},
- telescope_fzy = {active = false},
- sanegx = {active = false},
- snap = {active = false},
- ranger = {active = false},
- todo_comments = {active = false},
- lsp_colors = {active = false},
- git_blame = {active = false},
- gist = {active = false},
- gitlinker = {active = false},
- lazygit = {active = false},
- octo = {active = false},
- lush = {active = false},
- diffview = {active = false},
- bracey = {active = false},
- telescope_project = {active = false},
- dap_install = {active = false}
+ database = { save_location = "~/.config/nvcode_db", auto_execute = 1 },
- },
+ plugin = {
+ -- TODO remove non built-ins
+ -- Builtins
+ dashboard = { active = false },
+ colorizer = { active = false },
+ zen = { active = false },
+ ts_playground = { active = false },
+ ts_context_commentstring = { active = false },
+ telescope_fzy = { active = false },
+ telescope_project = { active = false },
+ indent_line = { active = false },
+ symbol_outline = { active = false },
+ debug = { active = false },
+ dap_install = { active = false },
+ lazygit = { active = false },
+ lush = { active = false },
+ diffview = { active = false },
+
+ ----------------------------------------------------------------------
+ -- Non builtins
+
+ octo = { active = false },
+ gitlinker = { active = false },
+ todo_comments = { active = false },
+ gist = { active = false },
+ git_blame = { active = false },
+ lsp_colors = { active = false },
+ ranger = { active = false },
+ hop = { active = false },
+ dial = { active = false },
+ matchup = { active = false },
+ numb = { active = false },
+ bqf = { active = false },
+ trouble = { active = false },
+ floatterm = { active = false },
+ spectre = { active = false },
+ lsp_rooter = { active = false },
+ markdown_preview = { active = false },
+ bracey = { active = false },
+ codi = { active = false },
+ sanegx = { active = false },
+ snap = { active = false },
+ tabnine = { active = false },
- lang = {
- python = {
- linter = '',
- -- @usage can be 'yapf', 'black'
- formatter = '',
- autoformat = false,
- isort = false,
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- },
- analysis = {
- type_checking = "basic",
- auto_search_paths = true,
- use_library_code_types = true
- }
- },
- dart = {
- sdk_path = '/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot'
- },
- lua = {
- -- @usage can be 'lua-format'
- formatter = '',
- autoformat = false,
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- }
- },
- sh = {
- -- @usage can be 'shellcheck'
- linter = '',
- -- @usage can be 'shfmt'
- formatter = '',
- autoformat = false,
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- }
- },
- tsserver = {
- -- @usage can be 'eslint'
- linter = '',
- -- @usage can be 'prettier'
- formatter = '',
- autoformat = false,
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- }
- },
- json = {
- -- @usage can be 'prettier'
- formatter = '',
- autoformat = false,
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- }
- },
- tailwindcss = {
- filetypes = {
- 'html', 'css', 'scss', 'javascript', 'javascriptreact',
- 'typescript', 'typescriptreact'
- }
- },
- clang = {
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true,
- },
- cross_file_rename = true,
- header_insertion = 'never',
- autoformat = false -- update this to true for enabling autoformat
- },
- ruby = {
- diagnostics = {
- virtualtext = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- },
- filetypes = {'rb', 'erb', 'rakefile', 'ruby'}
- },
- go = {},
- elixir = {},
- vim = {},
- yaml = {},
- terraform = {},
- rust = {
- rust_tools = {
- active = false
- },
- linter = '',
- formatter = '',
- autoformat = false,
- diagnostics = {
- virtual_text = {spacing = 0, prefix = ""},
- signs = true,
- underline = true
- }
- },
- svelte = {},
- php = {},
- latex = {},
- kotlin = {},
- html = {},
- elm = {},
- emmet = {active = true},
- graphql = {},
- efm = {},
- docker = {},
- cmake = {},
- java = {},
- css = {
- formatter = '',
- autoformat = false,
- virtual_text = true
- }
- },
- dashboard = {
+ },
- custom_header = {
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣶⣾⠿⠿⠟⠛⠛⠛⠛⠿⠿⣿⣷⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠒⠂⠉⠉⠉⠉⢩⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⢰⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠠⡀⠀⠀⢀⣾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠢⢀⣸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡧⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠈⠁⠒⠤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠉⠢⠤⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠈⠑⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠑⠒⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡇⠀⠀⢀⣣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠒⠢⠤⠄⣀⣀⠀⠀⠀⢠⣿⡟⠀⠀⠀⣺⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠇⠀⠀⠀⠀⠀⣤⡄⠀⠀⢠⣤⡄⠀⢨⣭⣠⣤⣤⣤⡀⠀⠀⢀⣤⣤⣤⣤⡄⠀⠀⠀⣤⣄⣤⣤⣤⠀⠀⣿⣯⠉⠉⣿⡟⠀⠈⢩⣭⣤⣤⠀⠀⠀⠀⣠⣤⣤⣤⣄⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠀⠀⠀⠀⠀⠀⣿⠃⠀⠀⣸⣿⠁⠀⣿⣿⠉⠀⠈⣿⡇⠀⠀⠛⠋⠀⠀⢹⣿⠀⠀⠀⣿⠏⠀⠸⠿⠃⠀⣿⣿⠀⣰⡟⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡟⢸⣿⡇⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⣿⡟⠀⢠⣿⡇⠀⠀⢰⣿⡇⠀⣰⣾⠟⠛⠛⣻⡇⠀⠀⢸⡿⠀⠀⠀⠀⠀⠀⢻⣿⢰⣿⠀⠀⠀⠀⠀⠀⣾⡇⠀⠀⠀⢸⣿⠇⢸⣿⠀⢸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣧⣤⣤⣤⡄⠀⠘⣿⣤⣤⡤⣿⠇⠀⢸⣿⠁⠀⠀⣼⣿⠀⠀⢿⣿⣤⣤⠔⣿⠃⠀⠀⣾⡇⠀⠀⠀⠀⠀⠀⢸⣿⣿⠋⠀⠀⠀⢠⣤⣤⣿⣥⣤⡄⠀⣼⣿⠀⣸⡏⠀⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
- '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠁⠀⠀⠈⠉⠉⠀⠉⠀⠀⠈⠉⠀⠀⠀⠉⠉⠀⠀⠀⠉⠉⠁⠈⠉⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠁⠀⠉⠁⠀⠉⠁⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀'
+ custom_plugins = {
+ -- use lv-config.lua for this not put here
+ },
- },
- footer = {'chrisatmachine.com'}
- }
-}
+ user_autocommands = {
+ { "FileType", "qf", "set nobuflisted" },
+ },
--- TODO find a new home for these autocommands
-require('lv-utils').define_augroups({
- _general_settings = {
- {
- 'TextYankPost', '*',
- 'lua require(\'vim.highlight\').on_yank({higroup = \'Search\', timeout = 200})'
- }, {
- 'BufWinEnter', '*',
- 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
- },
- {
- 'BufRead', '*',
- 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
- }, {
- 'BufNewFile', '*',
- 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
- }, {'VimLeavePre', '*', 'set title set titleold='},
- {'FileType', 'qf', 'set nobuflisted'}
+ lang = {
+ python = {
+ linter = "",
+ isort = false,
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ analysis = {
+ type_checking = "basic",
+ auto_search_paths = true,
+ use_library_code_types = true,
+ },
+ },
+ dart = {
+ sdk_path = "/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot",
+ },
+ lua = {
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ },
+ sh = {
+ -- @usage can be 'shellcheck'
+ linter = "",
+ -- @usage can be 'shfmt'
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ },
+ tsserver = {
+ -- @usage can be 'eslint'
+ linter = "",
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
},
- -- _solidity = {
- -- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'},
- -- {'BufNewFile', '*.sol', 'setlocal filetype=solidity'}
- -- },
- -- _gemini = {
- -- {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'},
- -- {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'}
- -- },
- _markdown = {
- {'FileType', 'markdown', 'setlocal wrap'},
- {'FileType', 'markdown', 'setlocal spell'}
+ json = {
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
},
- _buffer_bindings = {
- {'FileType', 'floaterm', 'nnoremap <silent> <buffer> q :q<CR>'}
- }
-})
+ tailwindcss = {
+ filetypes = {
+ "html",
+ "css",
+ "scss",
+ "javascript",
+ "javascriptreact",
+ "typescript",
+ "typescriptreact",
+ },
+ },
+ clang = {
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ cross_file_rename = true,
+ header_insertion = "never",
+ },
+ ruby = {
+ diagnostics = {
+ virtualtext = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ filetypes = { "rb", "erb", "rakefile", "ruby" },
+ },
+ go = {},
+ elixir = {},
+ vim = {},
+ yaml = {},
+ terraform = {},
+ rust = {
+ rust_tools = {
+ active = false,
+ },
+ linter = "",
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ },
+ svelte = {},
+ php = {
+ environment = {
+ php_version = "7.4",
+ },
+ diagnostics = {
+ virtual_text = { spacing = 0, prefix = "" },
+ signs = true,
+ underline = true,
+ },
+ filetypes = { "php", "phtml" },
+ },
+ latex = {},
+ kotlin = {},
+ html = {},
+ elm = {},
+ emmet = { active = true },
+ graphql = {},
+ efm = {},
+ docker = {},
+ cmake = {},
+ java = {},
+ css = {
+ virtual_text = true,
+ },
+ },
+ dashboard = {
+
+ custom_header = {
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣶⣾⠿⠿⠟⠛⠛⠛⠛⠿⠿⣿⣷⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠒⠂⠉⠉⠉⠉⢩⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⢰⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠠⡀⠀⠀⢀⣾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠢⢀⣸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡧⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠈⠁⠒⠤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠉⠢⠤⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠈⠑⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠑⠒⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡇⠀⠀⢀⣣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠒⠢⠤⠄⣀⣀⠀⠀⠀⢠⣿⡟⠀⠀⠀⣺⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠇⠀⠀⠀⠀⠀⣤⡄⠀⠀⢠⣤⡄⠀⢨⣭⣠⣤⣤⣤⡀⠀⠀⢀⣤⣤⣤⣤⡄⠀⠀⠀⣤⣄⣤⣤⣤⠀⠀⣿⣯⠉⠉⣿⡟⠀⠈⢩⣭⣤⣤⠀⠀⠀⠀⣠⣤⣤⣤⣄⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠀⠀⠀⠀⠀⠀⣿⠃⠀⠀⣸⣿⠁⠀⣿⣿⠉⠀⠈⣿⡇⠀⠀⠛⠋⠀⠀⢹⣿⠀⠀⠀⣿⠏⠀⠸⠿⠃⠀⣿⣿⠀⣰⡟⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡟⢸⣿⡇⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⣿⡟⠀⢠⣿⡇⠀⠀⢰⣿⡇⠀⣰⣾⠟⠛⠛⣻⡇⠀⠀⢸⡿⠀⠀⠀⠀⠀⠀⢻⣿⢰⣿⠀⠀⠀⠀⠀⠀⣾⡇⠀⠀⠀⢸⣿⠇⢸⣿⠀⢸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣧⣤⣤⣤⡄⠀⠘⣿⣤⣤⡤⣿⠇⠀⢸⣿⠁⠀⠀⣼⣿⠀⠀⢿⣿⣤⣤⠔⣿⠃⠀⠀⣾⡇⠀⠀⠀⠀⠀⠀⢸⣿⣿⠋⠀⠀⠀⢠⣤⣤⣿⣥⣤⡄⠀⣼⣿⠀⣸⡏⠀⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠁⠀⠀⠈⠉⠉⠀⠉⠀⠀⠈⠉⠀⠀⠀⠉⠉⠀⠀⠀⠉⠉⠁⠈⠉⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠁⠀⠉⠁⠀⠉⠁⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ },
+ footer = { "chrisatmachine.com" },
+ },
+} \ No newline at end of file
diff --git a/lua/keymappings.lua b/lua/keymappings.lua
index 0e8284d3..2161b8e9 100644
--- a/lua/keymappings.lua
+++ b/lua/keymappings.lua
@@ -1,12 +1,12 @@
-- better window movement
-vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', {silent = true})
-vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', {silent = true})
-vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', {silent = true})
-vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', {silent = true})
+vim.api.nvim_set_keymap("n", "<C-h>", "<C-w>h", { silent = true })
+vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", { silent = true })
+vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", { silent = true })
+vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", { silent = true })
-- TODO fix this
-- Terminal window navigation
-vim.cmd([[
+vim.cmd [[
tnoremap <C-h> <C-\><C-N><C-w>h
tnoremap <C-j> <C-\><C-N><C-w>j
tnoremap <C-k> <C-\><C-N><C-w>k
@@ -16,38 +16,50 @@ vim.cmd([[
inoremap <C-k> <C-\><C-N><C-w>k
inoremap <C-l> <C-\><C-N><C-w>l
tnoremap <Esc> <C-\><C-n>
-]])
+]]
-- TODO fix this
-- resize with arrows
-vim.api.nvim_set_keymap('n', '<C-Up>', ':resize -2<CR>', {silent = true})
-vim.api.nvim_set_keymap('n', '<C-Down>', ':resize +2<CR>', {silent = true})
-vim.api.nvim_set_keymap('n', '<C-Left>', ':vertical resize -2<CR>', {silent = true})
-vim.api.nvim_set_keymap('n', '<C-Right>', ':vertical resize +2<CR>', {silent = true})
+vim.api.nvim_set_keymap("n", "<C-Up>", ":resize -2<CR>", { silent = true })
+vim.api.nvim_set_keymap("n", "<C-Down>", ":resize +2<CR>", { silent = true })
+vim.api.nvim_set_keymap("n", "<C-Left>", ":vertical resize -2<CR>", { silent = true })
+vim.api.nvim_set_keymap("n", "<C-Right>", ":vertical resize +2<CR>", { silent = true })
-- better indenting
-vim.api.nvim_set_keymap('v', '<', '<gv', {noremap = true, silent = true})
-vim.api.nvim_set_keymap('v', '>', '>gv', {noremap = true, silent = true})
+vim.api.nvim_set_keymap("v", "<", "<gv", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("v", ">", ">gv", { noremap = true, silent = true })
-- I hate escape
-vim.api.nvim_set_keymap('i', 'jk', '<ESC>', {noremap = true, silent = true})
-vim.api.nvim_set_keymap('i', 'kj', '<ESC>', {noremap = true, silent = true})
-vim.api.nvim_set_keymap('i', 'jj', '<ESC>', {noremap = true, silent = true})
+vim.api.nvim_set_keymap("i", "jk", "<ESC>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("i", "kj", "<ESC>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("i", "jj", "<ESC>", { noremap = true, silent = true })
-- Tab switch buffer
-vim.api.nvim_set_keymap('n', '<TAB>', ':bnext<CR>', {noremap = true, silent = true})
-vim.api.nvim_set_keymap('n', '<S-TAB>', ':bprevious<CR>', {noremap = true, silent = true})
+vim.api.nvim_set_keymap("n", "<TAB>", ":bnext<CR>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("n", "<S-TAB>", ":bprevious<CR>", { noremap = true, silent = true })
-- Move selected line / block of text in visual mode
-vim.api.nvim_set_keymap('x', 'K', ':move \'<-2<CR>gv-gv', {noremap = true, silent = true})
-vim.api.nvim_set_keymap('x', 'J', ':move \'>+1<CR>gv-gv', {noremap = true, silent = true})
+vim.api.nvim_set_keymap("x", "K", ":move '<-2<CR>gv-gv", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("x", "J", ":move '>+1<CR>gv-gv", { noremap = true, silent = true })
+
+-- Move current line / block with Alt-j/k ala vscode.
+vim.api.nvim_set_keymap("n", "<A-j>", ":m .+1<CR>==", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("n", "<A-k>", ":m .-2<CR>==", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("i", "<A-j>", "<Esc>:m .+1<CR>==gi", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("i", "<A-k>", "<Esc>:m .-2<CR>==gi", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("x", "<A-j>", ":m '>+1<CR>gv-gv", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("x", "<A-k>", ":m '<-2<CR>gv-gv", { noremap = true, silent = true })
+
+-- QuickFix
+vim.api.nvim_set_keymap("n", "]q", ":cnext<CR>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("n", "[q", ":cprev<CR>", { noremap = true, silent = true })
-- Better nav for omnicomplete
-vim.cmd('inoremap <expr> <c-j> (\"\\<C-n>\")')
-vim.cmd('inoremap <expr> <c-k> (\"\\<C-p>\")')
+vim.cmd 'inoremap <expr> <c-j> ("\\<C-n>")'
+vim.cmd 'inoremap <expr> <c-k> ("\\<C-p>")'
-vim.cmd('vnoremap p "0p')
-vim.cmd('vnoremap P "0P')
+vim.cmd 'vnoremap p "0p'
+vim.cmd 'vnoremap P "0P'
-- vim.api.nvim_set_keymap('v', 'p', '"0p', {silent = true})
-- vim.api.nvim_set_keymap('v', 'P', '"0P', {silent = true})
@@ -64,4 +76,4 @@ vim.cmd('vnoremap P "0P')
-- ]])
-- Toggle the QuickFix window
-vim.api.nvim_set_keymap('', '<C-q>', ':call QuickFixToggle()<CR>', {noremap = true, silent = true})
+vim.api.nvim_set_keymap("", "<C-q>", ":call QuickFixToggle()<CR>", { noremap = true, silent = true })
diff --git a/lua/lsp/emmet-ls.lua b/lua/lsp/emmet-ls.lua
index 46d6c90d..fcb7f62d 100644
--- a/lua/lsp/emmet-ls.lua
+++ b/lua/lsp/emmet-ls.lua
@@ -1,3 +1,7 @@
+-- if not package.loaded['lspconfig'] then
+-- return
+-- end
+
local nvim_lsp = require'lspconfig'
local configs = require'lspconfig/configs'
local capabilities = vim.lsp.protocol.make_client_capabilities()
@@ -6,7 +10,7 @@ capabilities.textDocument.completion.completionItem.snippetSupport = true
configs.emmet_ls = {
default_config = {
cmd = {'emmet-ls', '--stdio'};
- filetypes = {'html', 'css', 'javascript', 'javascriptreact', 'typescript', 'typescriptreact'};
+ filetypes = {'html', 'css', 'javascript', 'typescript'};
root_dir = function()
return vim.loop.cwd()
end;
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua
index 8bc8984f..0292064a 100644
--- a/lua/lsp/init.lua
+++ b/lua/lsp/init.lua
@@ -20,14 +20,12 @@ vim.cmd("nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>")
vim.cmd("nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>")
vim.cmd("nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>")
vim.cmd("nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>")
-vim.cmd("nnoremap <silent> K :Lspsaga hover_doc<CR>")
+vim.cmd("nnoremap <silent> K :lua vim.lsp.buf.hover()<CR>")
-- vim.cmd('nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>')
-vim.cmd("nnoremap <silent> <C-p> :Lspsaga diagnostic_jump_prev<CR>")
-vim.cmd("nnoremap <silent> <C-n> :Lspsaga diagnostic_jump_next<CR>")
+vim.cmd("nnoremap <silent> <C-p> :lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})<CR>")
+vim.cmd("nnoremap <silent> <C-n> :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})<CR>")
-- scroll down hover doc or scroll in definition preview
-vim.cmd("nnoremap <silent> <C-f> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(1)<CR>")
-- scroll up hover doc
-vim.cmd("nnoremap <silent> <C-b> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1)<CR>")
vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()')
-- Set Default Prefix.
@@ -43,6 +41,18 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
}
)
+vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
+ vim.lsp.handlers.hover, {
+ border = O.lsp.popup_border
+ }
+)
+
+vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
+ vim.lsp.handlers.signature_help, {
+ border = O.lsp.popup_border
+ }
+)
+
-- symbols for autocomplete
vim.lsp.protocol.CompletionItemKind = {
"  (Text) ",
@@ -106,8 +116,48 @@ if O.document_highlight then
end
function lsp_config.tsserver_on_attach(client, bufnr)
- lsp_config.common_on_attach(client, bufnr)
+ -- lsp_config.common_on_attach(client, bufnr)
client.resolved_capabilities.document_formatting = false
+
+ local ts_utils = require("nvim-lsp-ts-utils")
+
+ -- defaults
+ ts_utils.setup {
+ debug = false,
+ disable_commands = false,
+ enable_import_on_completion = false,
+ import_all_timeout = 5000, -- ms
+
+ -- eslint
+ eslint_enable_code_actions = true,
+ eslint_enable_disable_comments = true,
+ eslint_bin = O.lang.tsserver.linter,
+ eslint_config_fallback = nil,
+ eslint_enable_diagnostics = true,
+
+ -- formatting
+ enable_formatting = O.lang.tsserver.autoformat,
+ formatter = O.lang.tsserver.formatter,
+ formatter_config_fallback = nil,
+
+ -- parentheses completion
+ complete_parens = false,
+ signature_help_in_parens = false,
+
+ -- update imports on file move
+ update_imports_on_move = false,
+ require_confirmation_on_move = false,
+ watch_dir = nil,
+ }
+
+ -- required to fix code action ranges
+ ts_utils.setup_client(client)
+
+ -- TODO: keymap these?
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize<CR>", {silent = true})
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "qq", ":TSLspFixCurrent<CR>", {silent = true})
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", ":TSLspRenameFile<CR>", {silent = true})
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", ":TSLspImportAll<CR>", {silent = true})
end
diff --git a/lua/lsp/ts-fmt-lint.lua b/lua/lsp/ts-fmt-lint.lua
index 3ca97d71..36d4ca8a 100644
--- a/lua/lsp/ts-fmt-lint.lua
+++ b/lua/lsp/ts-fmt-lint.lua
@@ -10,54 +10,25 @@ M.setup = function()
formatStdin = true
}
- if vim.fn.glob("node_modules/.bin/prettier") then
+ if vim.fn.glob("node_modules/.bin/prettier") ~= "" then
prettier = {
formatCommand = "./node_modules/.bin/prettier --stdin-filepath ${INPUT}",
formatStdin = true
}
end
- -- TODO global eslint?
-
- local eslint = {
- lintCommand = "./node_modules/.bin/eslint -f unix --stdin --stdin-filename ${INPUT}",
- lintIgnoreExitCode = true,
- lintStdin = true,
- lintFormats = {"%f:%l:%c: %m"},
- -- formatCommand = "./node_modules/.bin/eslint -f unix --fix --stdin-filename ${INPUT}", -- TODO check if eslint is the formatter then add this
- formatStdin = true
- }
-
- if O.lang.tsserver.formatter == 'prettier' then
- table.insert(tsserver_args, prettier)
- end
-
- if O.lang.tsserver.linter == 'eslint' then
- table.insert(tsserver_args, eslint)
- end
-
require"lspconfig".efm.setup {
-- init_options = {initializationOptions},
cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
init_options = {documentFormatting = true, codeAction = false},
- filetypes = {
- "javascriptreact", "javascript", "typescript", "typescriptreact",
- "html", "css", "yaml", "vue"
- },
+ filetypes = {"html", "css", "yaml", "vue", "javascript", "javascriptreact", "typescript", "typescriptreact"},
settings = {
rootMarkers = {".git/", "package.json"},
languages = {
- javascript = tsserver_args,
- javascriptreact = tsserver_args,
- typescript = tsserver_args,
- typescriptreact = tsserver_args,
html = {prettier},
css = {prettier},
json = {prettier},
yaml = {prettier}
- -- javascriptreact = {prettier, eslint},
- -- javascript = {prettier, eslint},
- -- markdown = {markdownPandocFormat, markdownlint},
}
}
}
diff --git a/lua/lv-autopairs/init.lua b/lua/lv-autopairs/init.lua
index fb1300a2..6a9e4286 100644
--- a/lua/lv-autopairs/init.lua
+++ b/lua/lv-autopairs/init.lua
@@ -1,47 +1,47 @@
-local npairs = require('nvim-autopairs')
-local Rule = require('nvim-autopairs.rule')
+-- if not package.loaded['nvim-autopairs'] then
+-- return
+-- end
+local npairs = require "nvim-autopairs"
+local Rule = require "nvim-autopairs.rule"
-- skip it, if you use another global object
-_G.MUtils= {}
+_G.MUtils = {}
vim.g.completion_confirm_key = ""
-MUtils.completion_confirm=function()
- if vim.fn.pumvisible() ~= 0 then
+MUtils.completion_confirm = function()
+ if vim.fn.pumvisible() ~= 0 then
if vim.fn.complete_info()["selected"] ~= -1 then
- return vim.fn["compe#confirm"](npairs.esc("<cr>"))
+ return vim.fn["compe#confirm"](npairs.esc "<cr>")
else
- return npairs.esc("<cr>")
+ return npairs.esc "<cr>"
end
else
return npairs.autopairs_cr()
end
end
+if package.loaded["compe"] then
+ require("nvim-autopairs.completion.compe").setup {
+ map_cr = true, -- map <CR> on insert mode
+ map_complete = true, -- it will auto insert `(` after select function or method item
+ }
+end
-require("nvim-autopairs.completion.compe").setup({
- map_cr = true, -- map <CR> on insert mode
- map_complete = true -- it will auto insert `(` after select function or method item
-})
-
-npairs.setup({
- check_ts = true,
- ts_config = {
- lua = {'string'},-- it will not add pair on that treesitter node
- javascript = {'template_string'},
- java = false,-- don't check treesitter on java
- }
-})
-
-require('nvim-treesitter.configs').setup {
- autopairs = {enable = true}
+npairs.setup {
+ check_ts = true,
+ ts_config = {
+ lua = { "string" }, -- it will not add pair on that treesitter node
+ javascript = { "template_string" },
+ java = false, -- don't check treesitter on java
+ },
}
-local ts_conds = require('nvim-autopairs.ts-conds')
+require("nvim-treesitter.configs").setup { autopairs = { enable = true } }
+
+local ts_conds = require "nvim-autopairs.ts-conds"
-- press % => %% is only inside comment or string
-npairs.add_rules({
- Rule("%", "%", "lua")
- :with_pair(ts_conds.is_ts_node({'string','comment'})),
- Rule("$", "$", "lua")
- :with_pair(ts_conds.is_not_ts_node({'function'}))
-})
+npairs.add_rules {
+ Rule("%", "%", "lua"):with_pair(ts_conds.is_ts_node { "string", "comment" }),
+ Rule("$", "$", "lua"):with_pair(ts_conds.is_not_ts_node { "function" }),
+}
diff --git a/lua/lv-bufferline/init.lua b/lua/lv-bufferline/init.lua
index c6c37371..af1a2d20 100644
--- a/lua/lv-bufferline/init.lua
+++ b/lua/lv-bufferline/init.lua
@@ -1,52 +1,73 @@
local M = {}
M.config = function()
-require('bufferline').setup {
- options = {
- -- numbers = "none" | "ordinal" | "buffer_id" | "both",
- -- number_style = "superscript" | "" | { "none", "subscript" }, -- buffer_id at index 1, ordinal at index 2
- -- mappings = true | false,
- -- close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
- -- right_mouse_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
- -- left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions"
- middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
- indicator_icon = '▎',
- buffer_close_icon = '',
- modified_icon = '●',
- close_icon = '',
- left_trunc_marker = '',
- right_trunc_marker = '',
- --- name_formatter can be used to change the buffer's label in the bufferline.
- --- Please note some names can/will break the
- --- bufferline so use this at your discretion knowing that it has
- --- some limitations that will *NOT* be fixed.
- -- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr"
- -- -- remove extension from markdown files for example
- -- if buf.name:match('%.md') then
- -- return vim.fn.fnamemodify(buf.name, ':t:r')
- -- end
- -- end,
- max_name_length = 18,
- max_prefix_length = 15, -- prefix used when a buffer is de-duplicated
- tab_size = 18,
- -- diagnostics = "nvim_lsp",
- offsets = {{filetype = "NvimTree", text = "File Explorer", text_align = "left", padding = 1}},
- -- show_buffer_icons = true | false, -- disable filetype icons for buffers
- show_buffer_close_icons = true
- -- show_close_icon = true | false,
- -- show_tab_indicators = true | false,
- -- persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
- -- can also be a table containing 2 custom separators
- -- [focused and unfocused]. eg: { '|', '|' }
- -- separator_style = "slant" | "thick" | "thin" | { 'any', 'any' },
- -- enforce_regular_tabs = false | true,
- -- always_show_bufferline = true | false,
- -- sort_by = 'extension' | 'relative_directory' | 'directory' | function(buffer_a, buffer_b)
- -- add custom logic
- -- return buffer_a.modified > buffer_b.modified
- -- end
+ -- Buffer line setup
+ require("bufferline").setup {
+ options = {
+ indicator_icon = "▎",
+ buffer_close_icon = "",
+ modified_icon = "●",
+ close_icon = "",
+ close_command = "bdelete %d",
+ right_mouse_command = "bdelete! %d",
+ left_trunc_marker = "",
+ right_trunc_marker = "",
+ offsets = {
+ {
+ filetype = "NvimTree",
+ text = "",
+ text_align = "center",
+ padding = 1,
+ },
+ },
+ show_tab_indicators = true,
+ show_close_icon = false,
+ },
+ highlights = {
+ fill = {
+ guifg = { attribute = "fg", highlight = "Normal" },
+ guibg = { attribute = "bg", highlight = "StatusLineNC" },
+ },
+ -- background = {
+ -- guifg = {attribute = "fg", highlight = "Normal"},
+ -- guibg = {attribute = "bg", highlight = "StatusLine"}
+ -- },
+ -- buffer_visible = {
+ -- gui = "",
+ -- guifg = {attribute = "fg", highlight = "Normal"},
+ -- guibg = {attribute = "bg", highlight = "Normal"}
+ -- },
+ -- buffer_selected = {
+ -- gui = "",
+ -- guifg = {attribute = "fg", highlight = "Normal"},
+ -- guibg = {attribute = "bg", highlight = "Normal"}
+ -- },
+ -- separator = {
+ -- guifg = {attribute = "bg", highlight = "Normal"},
+ -- guibg = {attribute = "bg", highlight = "StatusLine"}
+ -- },
+ -- separator_selected = {
+ -- guifg = {attribute = "fg", highlight = "Special"},
+ -- guibg = {attribute = "bg", highlight = "Normal"}
+ -- },
+ -- separator_visible = {
+ -- guifg = {attribute = "fg", highlight = "Normal"},
+ -- guibg = {attribute = "bg", highlight = "StatusLineNC"}
+ -- },
+ -- close_button = {
+ -- guifg = {attribute = "fg", highlight = "Normal"},
+ -- guibg = {attribute = "bg", highlight = "StatusLine"}
+ -- },
+ -- close_button_selected = {
+ -- guifg = {attribute = "fg", highlight = "normal"},
+ -- guibg = {attribute = "bg", highlight = "normal"}
+ -- },
+ -- close_button_visible = {
+ -- guifg = {attribute = "fg", highlight = "normal"},
+ -- guibg = {attribute = "bg", highlight = "normal"}
+ -- }
+ },
}
-}
end
return M
diff --git a/lua/lv-colorizer/init.lua b/lua/lv-colorizer/init.lua
index ed8fd408..ac5f1356 100644
--- a/lua/lv-colorizer/init.lua
+++ b/lua/lv-colorizer/init.lua
@@ -1,13 +1,10 @@
-require'colorizer'.setup(
- {'*';},
- {
- RGB = true; -- #RGB hex codes
- RRGGBB = true; -- #RRGGBB hex codes
- RRGGBBAA = true; -- #RRGGBBAA hex codes
- rgb_fn = true; -- CSS rgb() and rgba() functions
- hsl_fn = true; -- CSS hsl() and hsla() functions
- css = true; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
- css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn
- })
- -- names = true; -- "Name" codes like Blue
-
+require("colorizer").setup({ "*" }, {
+ RGB = true, -- #RGB hex codes
+ RRGGBB = true, -- #RRGGBB hex codes
+ RRGGBBAA = true, -- #RRGGBBAA hex codes
+ rgb_fn = true, -- CSS rgb() and rgba() functions
+ hsl_fn = true, -- CSS hsl() and hsla() functions
+ css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
+ css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
+})
+-- names = true; -- "Name" codes like Blue
diff --git a/lua/lv-compe/init.lua b/lua/lv-compe/init.lua
index d0f7efb1..19998b62 100644
--- a/lua/lv-compe/init.lua
+++ b/lua/lv-compe/init.lua
@@ -1,12 +1,18 @@
+--if not package.loaded['compe'] then
+-- return
+-- end
+
local M = {}
+vim.g.vsnip_snippet_dir = O.vnsip_dir
+
M.config = function()
-require'compe'.setup {
+ opt = {
enabled = O.auto_complete,
autocomplete = true,
debug = false,
min_length = 1,
- preselect = 'enable',
+ preselect = "enable",
throttle_time = 80,
source_timeout = 200,
incomplete_delay = 400,
@@ -16,73 +22,78 @@ require'compe'.setup {
documentation = true,
source = {
- path = {kind = "  (Path)"},
- buffer = {kind = "  (Buffer)"},
- calc = {kind = "  (Calc)"},
- vsnip = {kind = "  (Snippet)"},
- nvim_lsp = {kind = "  (LSP)"},
- -- nvim_lua = {kind = "  "},
- nvim_lua = false,
- spell = {kind = "  (Spell)"},
- tags = false,
- vim_dadbod_completion = true,
- -- snippets_nvim = {kind = "  "},
- -- ultisnips = {kind = "  "},
- -- treesitter = {kind = "  "},
- emoji = {kind = " ﲃ (Emoji)", filetypes={"markdown", "text"}}
- -- for emoji press : (idk if that in compe tho)
- }
-}
+ path = { kind = "  (Path)" },
+ buffer = { kind = "  (Buffer)" },
+ calc = { kind = "  (Calc)" },
+ vsnip = { kind = "  (Snippet)" },
+ nvim_lsp = { kind = "  (LSP)" },
+ -- nvim_lua = {kind = "  "},
+ nvim_lua = false,
+ spell = { kind = "  (Spell)" },
+ tags = false,
+ vim_dadbod_completion = true,
+ -- snippets_nvim = {kind = "  "},
+ -- ultisnips = {kind = "  "},
+ -- treesitter = {kind = "  "},
+ emoji = { kind = " ﲃ (Emoji)", filetypes = { "markdown", "text" } },
+ -- for emoji press : (idk if that in compe tho)
+ },
+ }
-local t = function(str)
- return vim.api.nvim_replace_termcodes(str, true, true, true)
-end
+ if O.plugin.tabnine.active then
+ opt.source.tabnine = { kind = " ", priority = 200, max_reslts = 6 }
+ end
-local check_back_space = function()
- local col = vim.fn.col('.') - 1
- if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
- return true
+ require("compe").setup(opt)
+
+ local t = function(str)
+ return vim.api.nvim_replace_termcodes(str, true, true, true)
+ end
+
+ local check_back_space = function()
+ local col = vim.fn.col "." - 1
+ if col == 0 or vim.fn.getline("."):sub(col, col):match "%s" then
+ return true
else
- return false
+ return false
end
-end
-
--- Use (s-)tab to:
---- move to prev/next item in completion menuone
---- jump to prev/next snippet's placeholder
-_G.tab_complete = function()
- if vim.fn.pumvisible() == 1 then
- return t "<C-n>"
- elseif vim.fn.call("vsnip#available", {1}) == 1 then
- return t "<Plug>(vsnip-expand-or-jump)"
- elseif check_back_space() then
- return t "<Tab>"
- else
- return vim.fn['compe#complete']()
end
-end
-_G.s_tab_complete = function()
- if vim.fn.pumvisible() == 1 then
- return t "<C-p>"
- elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
- return t "<Plug>(vsnip-jump-prev)"
- else
- return t "<S-Tab>"
+ -- Use (s-)tab to:
+ --- move to prev/next item in completion menuone
+ --- jump to prev/next snippet's placeholder
+ _G.tab_complete = function()
+ if vim.fn.pumvisible() == 1 then
+ return t "<C-n>"
+ elseif vim.fn.call("vsnip#available", { 1 }) == 1 then
+ return t "<Plug>(vsnip-expand-or-jump)"
+ elseif check_back_space() then
+ return t "<Tab>"
+ else
+ return vim.fn["compe#complete"]()
+ end
end
-end
+ _G.s_tab_complete = function()
+ if vim.fn.pumvisible() == 1 then
+ return t "<C-p>"
+ elseif vim.fn.call("vsnip#jumpable", { -1 }) == 1 then
+ return t "<Plug>(vsnip-jump-prev)"
+ else
+ return t "<S-Tab>"
+ end
+ end
-vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
-vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
-vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
-vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
+ vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", { expr = true })
+ vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", { expr = true })
+ vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", { expr = true })
+ vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", { expr = true })
-vim.api.nvim_set_keymap("i", "<C-Space>", "compe#complete()", {noremap = true, silent = true, expr = true})
-vim.api.nvim_set_keymap("i", "<CR>", "compe#confirm('<CR>')", {noremap = true, silent = true, expr = true})
-vim.api.nvim_set_keymap("i", "<C-e>", "compe#close('<C-e>')", {noremap = true, silent = true, expr = true})
-vim.api.nvim_set_keymap("i", "<C-f>", "compe#scroll({ 'delta': +4 })", {noremap = true, silent = true, expr = true})
-vim.api.nvim_set_keymap("i", "<C-d>", "compe#scroll({ 'delta': -4 })", {noremap = true, silent = true, expr = true})
+ vim.api.nvim_set_keymap("i", "<C-Space>", "compe#complete()", { noremap = true, silent = true, expr = true })
+ -- vim.api.nvim_set_keymap("i", "<CR>", "compe#confirm('<CR>')", { noremap = true, silent = true, expr = true })
+ vim.api.nvim_set_keymap("i", "<C-e>", "compe#close('<C-e>')", { noremap = true, silent = true, expr = true })
+ vim.api.nvim_set_keymap("i", "<C-f>", "compe#scroll({ 'delta': +4 })", { noremap = true, silent = true, expr = true })
+ vim.api.nvim_set_keymap("i", "<C-d>", "compe#scroll({ 'delta': -4 })", { noremap = true, silent = true, expr = true })
end
return M
diff --git a/lua/lv-dashboard/init.lua b/lua/lv-dashboard/init.lua
index 99fcb10f..7a6c77cd 100644
--- a/lua/lv-dashboard/init.lua
+++ b/lua/lv-dashboard/init.lua
@@ -1,65 +1,70 @@
local M = {}
M.config = function()
- vim.g.dashboard_disable_at_vimenter = 0
+ vim.g.dashboard_disable_at_vimenter = 0
- vim.g.dashboard_custom_header = O.dashboard.custom_header
+ vim.g.dashboard_custom_header = O.dashboard.custom_header
- vim.g.dashboard_default_executive = 'telescope'
+ vim.g.dashboard_default_executive = "telescope"
- vim.g.dashboard_custom_section = {
- a = {
- description = {' Find File '},
- command = 'Telescope find_files'
- },
- b = {
- description = {' Recently Used Files'},
- command = 'Telescope oldfiles'
- },
- c = {
- description = {' Load Last Session '},
- command = 'SessionLoad'
- },
- d = {
- description = {' Find Word '},
- command = 'Telescope live_grep'
- },
- e = {
- description = {' Settings '},
- command = ':e ' .. CONFIG_PATH .. '/lv-config.lua'
- },
- f = {
- description = {' Neovim Config Files'},
- command = 'Telescope find_files cwd=' .. CONFIG_PATH
- }
- -- e = {description = {' Marks '}, command = 'Telescope marks'}
- }
- vim.cmd(
- "let g:dashboard_session_directory = $HOME..'/.config/nvim/.sessions'")
- vim.cmd(
- "let packages = len(globpath('~/.local/share/nvim/site/pack/packer/start', '*', 0, 1))")
+ vim.g.dashboard_custom_section = {
+ a = {
+ description = { " Find File " },
+ command = "Telescope find_files",
+ },
+ b = {
+ description = { " Recently Used Files" },
+ command = "Telescope oldfiles",
+ },
+ c = {
+ description = { " Load Last Session " },
+ command = "SessionLoad",
+ },
+ d = {
+ description = { " Find Word " },
+ command = "Telescope live_grep",
+ },
+ e = {
+ description = { " Settings " },
+ command = ":e " .. CONFIG_PATH .. "/lv-config.lua",
+ },
+ f = {
+ description = { " Neovim Config Files" },
+ command = "Telescope find_files cwd=" .. CONFIG_PATH,
+ },
+ -- e = {description = {' Marks '}, command = 'Telescope marks'}
+ }
+ vim.cmd "let g:dashboard_session_directory = $HOME..'/.config/nvim/.sessions'"
+ vim.cmd "let packages = len(globpath('~/.local/share/nvim/site/pack/packer/start', '*', 0, 1))"
- vim.api.nvim_exec([[
+ vim.api.nvim_exec(
+ [[
let g:dashboard_custom_footer = ['LuaJIT loaded '..packages..' plugins']
-]], false)
+]],
+ false
+ )
- -- file_browser = {description = {' File Browser'}, command = 'Telescope find_files'},
+ -- file_browser = {description = {' File Browser'}, command = 'Telescope find_files'},
- -- vim.g.dashboard_session_directory = CACHE_PATH..'/session'
- -- vim.g.dashboard_custom_footer = O.dashboard.footer
+ -- vim.g.dashboard_session_directory = CACHE_PATH..'/session'
+ -- vim.g.dashboard_custom_footer = O.dashboard.footer
end
-require('lv-utils').define_augroups({
- _dashboard = {
- -- seems to be nobuflisted that makes my stuff disapear will do more testing
- {
- 'FileType', 'dashboard',
- 'setlocal nocursorline noswapfile synmaxcol& signcolumn=no norelativenumber nocursorcolumn nospell nolist nonumber bufhidden=wipe colorcolumn= foldcolumn=0 matchpairs= '
- }, {
- 'FileType', 'dashboard',
- 'set showtabline=0 | autocmd BufLeave <buffer> set showtabline=2'
- }, {'FileType', 'dashboard', 'nnoremap <silent> <buffer> q :q<CR>'}
- }
-})
+require("lv-utils").define_augroups {
+ _dashboard = {
+ -- seems to be nobuflisted that makes my stuff disapear will do more testing
+ {
+ "FileType",
+ "dashboard",
+ "setlocal nocursorline noswapfile synmaxcol& signcolumn=no norelativenumber nocursorcolumn nospell nolist nonumber bufhidden=wipe colorcolumn= foldcolumn=0 matchpairs= ",
+ },
+ {
+ "FileType",
+ "dashboard",
+ "set showtabline=0 | autocmd BufLeave <buffer> set showtabline=2",
+ },
+ { "FileType", "dashboard", "nnoremap <silent> <buffer> q :q<CR>" },
+ },
+}
return M
diff --git a/lua/lv-dial/init.lua b/lua/lv-dial/init.lua
index aa32e050..842e86be 100644
--- a/lua/lv-dial/init.lua
+++ b/lua/lv-dial/init.lua
@@ -1,7 +1,7 @@
local M = {}
M.config = function()
- vim.cmd [[
+ vim.cmd [[
nmap <C-a> <Plug>(dial-increment)
nmap <C-x> <Plug>(dial-decrement)
vmap <C-a> <Plug>(dial-increment)
@@ -10,13 +10,21 @@ vmap g<C-a> <Plug>(dial-increment-additional)
vmap g<C-x> <Plug>(dial-decrement-additional)
]]
- local dial = require("dial")
+ local dial = require "dial"
+
+ dial.augends["custom#boolean"] = dial.common.enum_cyclic {
+ name = "boolean",
+ strlist = { "true", "false" },
+ }
+ table.insert(dial.config.searchlist.normal, "custom#boolean")
+
+ -- For Languages which prefer True/False, e.g. python.
+ dial.augends["custom#Boolean"] = dial.common.enum_cyclic {
+ name = "Boolean",
+ strlist = { "True", "False" },
+ }
+ table.insert(dial.config.searchlist.normal, "custom#Boolean")
- dial.augends["custom#boolean"] = dial.common.enum_cyclic {
- name = "boolean",
- strlist = {"true", "false"}
- }
- table.insert(dial.config.searchlist.normal, "custom#boolean")
end
return M
diff --git a/lua/lv-galaxyline/init.lua b/lua/lv-galaxyline/init.lua
index 51b9072c..efb6a988 100644
--- a/lua/lv-galaxyline/init.lua
+++ b/lua/lv-galaxyline/init.lua
@@ -1,25 +1,29 @@
-local gl = require('galaxyline')
+-- if not package.loaded['galaxyline'] then
+-- return
+-- end
+
+local gl = require "galaxyline"
-- get my theme in galaxyline repo
-- local colors = require('galaxyline.theme').default
local colors = {
- bg = '#2E2E2E',
- -- bg = '#292D38',
- yellow = '#DCDCAA',
- dark_yellow = '#D7BA7D',
- cyan = '#4EC9B0',
- green = '#608B4E',
- light_green = '#B5CEA8',
- string_orange = '#CE9178',
- orange = '#FF8800',
- purple = '#C586C0',
- magenta = '#D16D9E',
- grey = '#858585',
- blue = '#569CD6',
- vivid_blue = '#4FC1FF',
- light_blue = '#9CDCFE',
- red = '#D16969',
- error_red = '#F44747',
- info_yellow = '#FFCC66'
+ bg = "#2E2E2E",
+ -- bg = '#292D38',
+ yellow = "#DCDCAA",
+ dark_yellow = "#D7BA7D",
+ cyan = "#4EC9B0",
+ green = "#608B4E",
+ light_green = "#B5CEA8",
+ string_orange = "#CE9178",
+ orange = "#FF8800",
+ purple = "#C586C0",
+ magenta = "#D16D9E",
+ grey = "#858585",
+ blue = "#569CD6",
+ vivid_blue = "#4FC1FF",
+ light_blue = "#9CDCFE",
+ red = "#D16969",
+ error_red = "#F44747",
+ info_yellow = "#FFCC66",
}
-- galaxyline themes for Gruvbox and NVCode.
@@ -67,231 +71,263 @@ local colors = {
-- info_yellow = '#FFCC66'
-- }
-local condition = require('galaxyline.condition')
+local condition = require "galaxyline.condition"
local gls = gl.section
-gl.short_line_list = {'NvimTree', 'vista', 'dbui', 'packer'}
+gl.short_line_list = { "NvimTree", "vista", "dbui", "packer" }
table.insert(gls.left, {
- ViMode = {
- provider = function()
- -- auto change color according the vim mode
- local mode_color = {
- n = colors.blue,
- i = colors.green,
- v = colors.purple,
- [''] = colors.purple,
- V = colors.purple,
- c = colors.magenta,
- no = colors.blue,
- s = colors.orange,
- S = colors.orange,
- [''] = colors.orange,
- ic = colors.yellow,
- R = colors.red,
- Rv = colors.red,
- cv = colors.blue,
- ce = colors.blue,
- r = colors.cyan,
- rm = colors.cyan,
- ['r?'] = colors.cyan,
- ['!'] = colors.blue,
- t = colors.blue
- }
- vim.api.nvim_command('hi GalaxyViMode guifg=' .. mode_color[vim.fn.mode()])
- return '▊ '
- end,
- highlight = {colors.red, colors.bg}
- }
+ ViMode = {
+ provider = function()
+ -- auto change color according the vim mode
+ local mode_color = {
+ n = colors.blue,
+ i = colors.green,
+ v = colors.purple,
+ [""] = colors.purple,
+ V = colors.purple,
+ c = colors.magenta,
+ no = colors.blue,
+ s = colors.orange,
+ S = colors.orange,
+ [""] = colors.orange,
+ ic = colors.yellow,
+ R = colors.red,
+ Rv = colors.red,
+ cv = colors.blue,
+ ce = colors.blue,
+ r = colors.cyan,
+ rm = colors.cyan,
+ ["r?"] = colors.cyan,
+ ["!"] = colors.blue,
+ t = colors.blue,
+ }
+ vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()])
+ return "▊"
+ end,
+ highlight = 'StatusLineNC'
+ -- highlight = {colors.red, colors.bg}
+ },
})
-- print(vim.fn.getbufvar(0, 'ts'))
-vim.fn.getbufvar(0, 'ts')
+vim.fn.getbufvar(0, "ts")
table.insert(gls.left, {
- GitIcon = {
- provider = function()
- return ' '
- end,
- condition = condition.check_git_workspace,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.orange, colors.bg}
- }
+ GitIcon = {
+ provider = function()
+ return " "
+ end,
+ condition = condition.check_git_workspace,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineGit",
+ },
})
table.insert(gls.left, {
- GitBranch = {
- provider = 'GitBranch',
- condition = condition.check_git_workspace,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ GitBranch = {
+ provider = "GitBranch",
+ condition = condition.check_git_workspace,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.left, {
- DiffAdd = {
- provider = 'DiffAdd',
- condition = condition.hide_in_width,
- icon = '  ',
- highlight = {colors.green, colors.bg}
- }
+ DiffAdd = {
+ provider = "DiffAdd",
+ condition = condition.hide_in_width,
+ icon = "  ",
+ highlight = "StatusLineGitAdd",
+ },
})
table.insert(gls.left, {
- DiffModified = {
- provider = 'DiffModified',
- condition = condition.hide_in_width,
- icon = ' 柳',
- highlight = {colors.blue, colors.bg}
- }
+ DiffModified = {
+ provider = "DiffModified",
+ condition = condition.hide_in_width,
+ icon = " 柳",
+ highlight = "StatusLineGitChange",
+ },
})
table.insert(gls.left, {
- DiffRemove = {
- provider = 'DiffRemove',
- condition = condition.hide_in_width,
- icon = '  ',
- highlight = {colors.red, colors.bg}
- }
+ DiffRemove = {
+ provider = "DiffRemove",
+ condition = condition.hide_in_width,
+ icon = "  ",
+ highlight = "StatusLineGitDelete",
+ },
})
table.insert(gls.right, {
- DiagnosticError = {provider = 'DiagnosticError', icon = '  ', highlight = {colors.error_red, colors.bg}}
+ DiagnosticError = {
+ provider = "DiagnosticError",
+ icon = "  ",
+ highlight = "StatusLineLspDiagnosticsError",
+ },
+})
+table.insert(gls.right, {
+ DiagnosticWarn = {
+ provider = "DiagnosticWarn",
+ icon = "  ",
+
+ highlight = "StatusLineLspDiagnosticsWarning",
+ },
})
-table.insert(gls.right, {DiagnosticWarn = {provider = 'DiagnosticWarn', icon = '  ', highlight = {colors.orange, colors.bg}}})
table.insert(gls.right, {
- DiagnosticHint = {provider = 'DiagnosticHint', icon = '  ', highlight = {colors.vivid_blue, colors.bg}}
+ DiagnosticInfo = {
+ provider = "DiagnosticInfo",
+ icon = "  ",
+
+ highlight = "StatusLineLspDiagnosticsInformation",
+ },
})
-table.insert(gls.right, {DiagnosticInfo = {provider = 'DiagnosticInfo', icon = '  ', highlight = {colors.info_yellow, colors.bg}}})
+table.insert(gls.right, {
+ DiagnosticHint = {
+ provider = "DiagnosticHint",
+ icon = "  ",
+
+ highlight = "StatusLineLspDiagnosticsHint",
+ },
+})
table.insert(gls.right, {
- TreesitterIcon = {
- provider = function()
- if next(vim.treesitter.highlighter.active) ~= nil then return ' ' end
- return ''
- end,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.green, colors.bg}
- }
+ TreesitterIcon = {
+ provider = function()
+ if next(vim.treesitter.highlighter.active) ~= nil then
+ return " "
+ end
+ return ""
+ end,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineTreeSitter",
+ },
})
-local get_lsp_client = function (msg)
- msg = msg or "No Active LSP Client"
- local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
- local clients = vim.lsp.get_active_clients()
- if next(clients) == nil then
- return msg
- end
- local lsps = ""
- for _,client in ipairs(clients) do
- local filetypes = client.config.filetypes
- if filetypes and vim.fn.index(filetypes, buf_ft) ~=1 then
- -- print(client.name)
- if lsps == "" then
- -- print("first", lsps)
- lsps = client.name
- else
- lsps = lsps .. ", " .. client.name
- -- print("more", lsps)
- end
- end
- end
- if lsps == "" then
- return msg
- else
- return lsps
+local get_lsp_client = function(msg)
+ msg = msg or "No Active LSP Client"
+ local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
+ local clients = vim.lsp.get_active_clients()
+ if next(clients) == nil then
+ return msg
+ end
+ local lsps = ""
+ for _, client in ipairs(clients) do
+ local filetypes = client.config.filetypes
+ if filetypes and vim.fn.index(filetypes, buf_ft) ~= 1 then
+ -- print(client.name)
+ if lsps == "" then
+ -- print("first", lsps)
+ lsps = client.name
+ else
+ lsps = lsps .. ", " .. client.name
+ -- print("more", lsps)
+ end
end
+ end
+ if lsps == "" then
+ return msg
+ else
+ return lsps
+ end
end
-
table.insert(gls.right, {
- ShowLspClient = {
- provider = get_lsp_client,
- condition = function()
- local tbl = {['dashboard'] = true, [' '] = true}
- if tbl[vim.bo.filetype] then return false end
- return true
- end,
- icon = ' ',
- highlight = {colors.grey, colors.bg}
- }
+ ShowLspClient = {
+ provider = get_lsp_client,
+ condition = function()
+ local tbl = { ["dashboard"] = true, [" "] = true }
+ if tbl[vim.bo.filetype] then
+ return false
+ end
+ return true
+ end,
+ icon = " ",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.right, {
- LineInfo = {
- provider = 'LineColumn',
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ LineInfo = {
+ provider = "LineColumn",
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.right, {
- PerCent = {
- provider = 'LinePercent',
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ PerCent = {
+ provider = "LinePercent",
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.right, {
- Tabstop = {
- provider = function()
- return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " "
- end,
- condition = condition.hide_in_width,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ Tabstop = {
+ provider = function()
+ return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " "
+ end,
+ condition = condition.hide_in_width,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.right, {
- BufferType = {
- provider = 'FileTypeName',
- condition = condition.hide_in_width,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ BufferType = {
+ provider = "FileTypeName",
+ condition = condition.hide_in_width,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.right, {
- FileEncode = {
- provider = 'FileEncode',
- condition = condition.hide_in_width,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ FileEncode = {
+ provider = "FileEncode",
+ condition = condition.hide_in_width,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.right, {
- Space = {
- provider = function()
- return ' '
- end,
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.orange, colors.bg}
- }
+ Space = {
+ provider = function()
+ return " "
+ end,
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.short_line_left, {
- BufferType = {
- provider = 'FileTypeName',
- separator = ' ',
- separator_highlight = {'NONE', colors.bg},
- highlight = {colors.grey, colors.bg}
- }
+ BufferType = {
+ provider = "FileTypeName",
+ separator = " ",
+ separator_highlight = "StatusLineSeparator",
+ highlight = "StatusLineNC",
+ },
})
table.insert(gls.short_line_left, {
- SFileName = {provider = 'SFileName', condition = condition.buffer_not_empty, highlight = {colors.grey, colors.bg}}
+ SFileName = {
+ provider = "SFileName",
+ condition = condition.buffer_not_empty,
+
+ highlight = "StatusLineNC",
+ },
})
--table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.bg}}})
diff --git a/lua/lv-gitblame/init.lua b/lua/lv-gitblame/init.lua
index 12645a7f..3ed93a2b 100644
--- a/lua/lv-gitblame/init.lua
+++ b/lua/lv-gitblame/init.lua
@@ -1,2 +1,2 @@
-vim.cmd('highlight default link gitblame SpecialComment')
+vim.cmd "highlight default link gitblame SpecialComment"
vim.g.gitblame_enabled = 0
diff --git a/lua/lv-gitsigns/init.lua b/lua/lv-gitsigns/init.lua
index 7f0db565..7f1fbff4 100644
--- a/lua/lv-gitsigns/init.lua
+++ b/lua/lv-gitsigns/init.lua
@@ -1,53 +1,53 @@
local M = {}
M.config = function()
- require('gitsigns').setup {
- signs = {
- -- TODO add hl to colorscheme
- add = {
- hl = 'GitSignsAdd',
- text = '▎',
- numhl = 'GitSignsAddNr',
- linehl = 'GitSignsAddLn'
- },
- change = {
- hl = 'GitSignsChange',
- text = '▎',
- numhl = 'GitSignsChangeNr',
- linehl = 'GitSignsChangeLn'
- },
- delete = {
- hl = 'GitSignsDelete',
- text = '契',
- numhl = 'GitSignsDeleteNr',
- linehl = 'GitSignsDeleteLn'
- },
- topdelete = {
- hl = 'GitSignsDelete',
- text = '契',
- numhl = 'GitSignsDeleteNr',
- linehl = 'GitSignsDeleteLn'
- },
- changedelete = {
- hl = 'GitSignsChange',
- text = '▎',
- numhl = 'GitSignsChangeNr',
- linehl = 'GitSignsChangeLn'
- }
- },
- numhl = false,
- linehl = false,
- keymaps = {
- -- Default keymap options
- noremap = true,
- buffer = true
- },
- watch_index = {interval = 1000},
- sign_priority = 6,
- update_debounce = 200,
- status_formatter = nil, -- Use default
- use_decoration_api = false
- }
+ require("gitsigns").setup {
+ signs = {
+ -- TODO add hl to colorscheme
+ add = {
+ hl = "GitSignsAdd",
+ text = "▎",
+ numhl = "GitSignsAddNr",
+ linehl = "GitSignsAddLn",
+ },
+ change = {
+ hl = "GitSignsChange",
+ text = "▎",
+ numhl = "GitSignsChangeNr",
+ linehl = "GitSignsChangeLn",
+ },
+ delete = {
+ hl = "GitSignsDelete",
+ text = "契",
+ numhl = "GitSignsDeleteNr",
+ linehl = "GitSignsDeleteLn",
+ },
+ topdelete = {
+ hl = "GitSignsDelete",
+ text = "契",
+ numhl = "GitSignsDeleteNr",
+ linehl = "GitSignsDeleteLn",
+ },
+ changedelete = {
+ hl = "GitSignsChange",
+ text = "▎",
+ numhl = "GitSignsChangeNr",
+ linehl = "GitSignsChangeLn",
+ },
+ },
+ numhl = false,
+ linehl = false,
+ keymaps = {
+ -- Default keymap options
+ noremap = true,
+ buffer = true,
+ },
+ watch_index = { interval = 1000 },
+ sign_priority = 6,
+ update_debounce = 200,
+ status_formatter = nil, -- Use default
+ use_decoration_api = false,
+ }
end
return M
diff --git a/lua/lv-hop/init.lua b/lua/lv-hop/init.lua
index 8e30a1c8..3d2610ce 100644
--- a/lua/lv-hop/init.lua
+++ b/lua/lv-hop/init.lua
@@ -1,9 +1,9 @@
local M = {}
M.config = function()
- require('hop').setup()
- vim.api.nvim_set_keymap('n', 's', ":HopChar2<cr>", {silent = true})
- vim.api.nvim_set_keymap('n', 'S', ":HopWord<cr>", {silent = true})
+ require("hop").setup()
+ vim.api.nvim_set_keymap("n", "s", ":HopChar2<cr>", { silent = true })
+ vim.api.nvim_set_keymap("n", "S", ":HopWord<cr>", { silent = true })
end
return M
diff --git a/lua/lv-lsp-rooter/init.lua b/lua/lv-lsp-rooter/init.lua
index 7f849072..f4c16a9f 100644
--- a/lua/lv-lsp-rooter/init.lua
+++ b/lua/lv-lsp-rooter/init.lua
@@ -1,5 +1,5 @@
require("lsp-rooter").setup {
- -- your configuration comes here
- -- or leave it empty to use the default settings
- -- refer to the configuration section below
- }
+ -- your configuration comes here
+ -- or leave it empty to use the default settings
+ -- refer to the configuration section below
+}
diff --git a/lua/lv-lspinstall/init.lua b/lua/lv-lspinstall/init.lua
index 0ad1cd08..68fcfa2b 100644
--- a/lua/lv-lspinstall/init.lua
+++ b/lua/lv-lspinstall/init.lua
@@ -1,7 +1,7 @@
-- 1. get the config for this server from nvim-lspconfig and adjust the cmd path.
-- relative paths are allowed, lspinstall automatically adjusts the cmd and cmd_cwd for us!
-local config = require'lspconfig'.jdtls.document_config
-require'lspconfig/configs'.jdtls = nil -- important, unset the loaded config again
+local config = require("lspconfig").jdtls.document_config
+require("lspconfig/configs").jdtls = nil -- important, unset the loaded config again
-- config.default_config.cmd[1] = "./node_modules/.bin/bash-language-server"
-- 2. extend the config with an install_script and (optionally) uninstall_script
@@ -24,4 +24,4 @@ require'lspconfig/configs'.jdtls = nil -- important, unset the loaded config aga
-- uninstall_script = nil -- can be omitted
-- })
-require'lspinstall'.setup()
+require("lspinstall").setup()
diff --git a/lua/lv-matchup/init.lua b/lua/lv-matchup/init.lua
index a14c5ce4..92df923b 100644
--- a/lua/lv-matchup/init.lua
+++ b/lua/lv-matchup/init.lua
@@ -1,8 +1,7 @@
local M = {}
M.config = function()
- vim.g.matchup_matchparen_offscreen = {method = 'popup'}
+ vim.g.matchup_matchparen_offscreen = { method = "popup" }
end
return M
-
diff --git a/lua/lv-nvimtree/init.lua b/lua/lv-nvimtree/init.lua
index eea9e689..37a931ef 100644
--- a/lua/lv-nvimtree/init.lua
+++ b/lua/lv-nvimtree/init.lua
@@ -1,78 +1,81 @@
+--if not package.loaded['nvim-tree.view'] then
+-- return
+--end
+
local M = {}
M.config = function()
- local g = vim.g
+ local g = vim.g
- vim.o.termguicolors = true
+ vim.o.termguicolors = true
- g.nvim_tree_side = "left"
- g.nvim_tree_width = 30
- g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
- g.nvim_tree_auto_open = 1
- g.nvim_tree_auto_close = 0
- g.nvim_tree_quit_on_open = 0
- g.nvim_tree_follow = 1
- g.nvim_tree_indent_markers = 1
- g.nvim_tree_hide_dotfiles = 1
- g.nvim_tree_git_hl = 1
- g.nvim_tree_root_folder_modifier = ":t"
- g.nvim_tree_tab_open = 0
- g.nvim_tree_allow_resize = 1
- g.nvim_tree_lsp_diagnostics = 1
- g.nvim_tree_auto_ignore_ft = {'startify', 'dashboard'}
+ g.nvim_tree_side = "left"
+ g.nvim_tree_width = 30
+ g.nvim_tree_ignore = { ".git", "node_modules", ".cache" }
+ g.nvim_tree_auto_open = 1
+ g.nvim_tree_auto_close = 0
+ g.nvim_tree_quit_on_open = 0
+ g.nvim_tree_follow = 1
+ g.nvim_tree_indent_markers = 1
+ g.nvim_tree_hide_dotfiles = 1
+ g.nvim_tree_git_hl = 1
+ g.nvim_tree_root_folder_modifier = ":t"
+ g.nvim_tree_tab_open = 0
+ g.nvim_tree_allow_resize = 1
+ g.nvim_tree_lsp_diagnostics = 1
+ g.nvim_tree_auto_ignore_ft = { "startify", "dashboard" }
- g.nvim_tree_show_icons = {
- git = 1,
- folders = 1,
- files = 1,
- folder_arrows = 1
- }
+ g.nvim_tree_show_icons = {
+ git = 1,
+ folders = 1,
+ files = 1,
+ folder_arrows = 1,
+ }
- vim.g.nvim_tree_icons = {
- default = '',
- symlink = '',
- git = {
- unstaged = "",
- staged = "S",
- unmerged = "",
- renamed = "➜",
- deleted = "",
- untracked = "U",
- ignored = "◌"
- },
- folder = {
- default = "",
- open = "",
- empty = "",
- empty_open = "",
- symlink = ""
- }
- }
- local tree_cb = require'nvim-tree.config'.nvim_tree_callback
+ vim.g.nvim_tree_icons = {
+ default = "",
+ symlink = "",
+ git = {
+ unstaged = "",
+ staged = "S",
+ unmerged = "",
+ renamed = "➜",
+ deleted = "",
+ untracked = "U",
+ ignored = "◌",
+ },
+ folder = {
+ default = "",
+ open = "",
+ empty = "",
+ empty_open = "",
+ symlink = "",
+ },
+ }
+ local tree_cb = require("nvim-tree.config").nvim_tree_callback
- vim.g.nvim_tree_bindings = {
- {key = {"l", "<CR>", "o"}, cb = tree_cb("edit")},
- {key = "h", cb = tree_cb("close_node")},
- {key = "v", cb = tree_cb("vsplit")}
- }
+ vim.g.nvim_tree_bindings = {
+ { key = { "l", "<CR>", "o" }, cb = tree_cb "edit" },
+ { key = "h", cb = tree_cb "close_node" },
+ { key = "v", cb = tree_cb "vsplit" },
+ }
end
-local view = require 'nvim-tree.view'
+local view = require "nvim-tree.view"
M.toggle_tree = function()
- if view.win_open() then
- require'nvim-tree'.close()
- if package.loaded['bufferline.state'] then
- require'bufferline.state'.set_offset(0)
- end
- else
- if package.loaded['bufferline.state'] then
- -- require'bufferline.state'.set_offset(31, 'File Explorer')
- require'bufferline.state'.set_offset(31, '')
- end
- require'nvim-tree'.find_file(true)
+ if view.win_open() then
+ require("nvim-tree").close()
+ if package.loaded["bufferline.state"] then
+ require("bufferline.state").set_offset(0)
end
-
+ else
+ if package.loaded["bufferline.state"] then
+ -- require'bufferline.state'.set_offset(31, 'File Explorer')
+ require("bufferline.state").set_offset(31, "")
+ end
+ require("nvim-tree").find_file(true)
+ end
end
return M
diff --git a/lua/lv-quickscope/init.lua b/lua/lv-quickscope/init.lua
index 817bc6dc..8ae441d3 100644
--- a/lua/lv-quickscope/init.lua
+++ b/lua/lv-quickscope/init.lua
@@ -1,4 +1,4 @@
-- Trigger a highlight in the appropriate direction when pressing these keys:
-- vim.cmd('let g:qs_highlight_on_keys = [\'f\', \'F\', \'t\', \'T\']')
-vim.g.qs_highlight_on_keys = {'f', 'F', 't', 'T'}
-vim.g.qs_max_chars=150
+vim.g.qs_highlight_on_keys = { "f", "F", "t", "T" }
+vim.g.qs_max_chars = 150
diff --git a/lua/lv-rnvimr/init.lua b/lua/lv-rnvimr/init.lua
index c1140a72..d05307b1 100644
--- a/lua/lv-rnvimr/init.lua
+++ b/lua/lv-rnvimr/init.lua
@@ -3,4 +3,4 @@
vim.g.rnvimr_draw_border = 1
vim.g.rnvimr_pick_enable = 1
vim.g.rnvimr_bw_enable = 1
-vim.api.nvim_set_keymap('n', '-', ':RnvimrToggle<CR>', {noremap = true, silent = true})
+vim.api.nvim_set_keymap("n", "-", ":RnvimrToggle<CR>", { noremap = true, silent = true })
diff --git a/lua/lv-snap/init.lua b/lua/lv-snap/init.lua
index 115b1eda..c37f068a 100644
--- a/lua/lv-snap/init.lua
+++ b/lua/lv-snap/init.lua
@@ -1,14 +1,14 @@
local M = {}
M.config = function()
- local snap = require "snap"
- local layout = snap.get"layout".bottom
- local file = snap.config.file:with {consumer = "fzy", layout = layout}
- local vimgrep = snap.config.vimgrep:with {layout = layout}
- snap.register.command("find_files", file {producer = "ripgrep.file"})
- snap.register.command("buffers", file {producer = "vim.buffer"})
- snap.register.command("oldfiles", file {producer = "vim.oldfile"})
- snap.register.command("live_grep", vimgrep {})
+ local snap = require "snap"
+ local layout = snap.get("layout").bottom
+ local file = snap.config.file:with { consumer = "fzy", layout = layout }
+ local vimgrep = snap.config.vimgrep:with { layout = layout }
+ snap.register.command("find_files", file { producer = "ripgrep.file" })
+ snap.register.command("buffers", file { producer = "vim.buffer" })
+ snap.register.command("oldfiles", file { producer = "vim.oldfile" })
+ snap.register.command("live_grep", vimgrep {})
end
return M
diff --git a/lua/lv-spectre/init.lua b/lua/lv-spectre/init.lua
index aaa411bc..cd7757f3 100644
--- a/lua/lv-spectre/init.lua
+++ b/lua/lv-spectre/init.lua
@@ -1,51 +1,50 @@
-require('spectre').setup({
- mapping={
- ['toggle_line'] = {
- map = "dd",
- cmd = "<cmd>lua require('spectre').toggle_line()<CR>",
- desc = "toggle current item"
- },
- ['enter_file'] = {
- map = "<cr>",
- cmd = "<cmd>lua require('spectre.actions').select_entry()<CR>",
- desc = "goto current file"
- },
- ['send_to_qf'] = {
- map = "<Blash>q",
- cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
- desc = "send all item to quickfix"
- },
- ['replace_cmd'] = {
- map = "<Bslash>c",
- cmd = "<cmd>lua require('spectre.actions').replace_cmd()<CR>",
- desc = "input replace vim command"
- },
- ['show_option_menu'] = {
- map = "<Bslash>o",
- cmd = "<cmd>lua require('spectre').show_options()<CR>",
- desc = "show option"
- },
- ['run_replace'] = {
- map = "<Bslash>R",
- cmd = "<cmd>lua require('spectre.actions').run_replace()<CR>",
- desc = "replace all"
- },
- ['change_view_mode'] = {
- map = "<Bslash>v",
- cmd = "<cmd>lua require('spectre').change_view()<CR>",
- desc = "change result view mode"
- },
- ['toggle_ignore_case'] = {
+require("spectre").setup {
+ mapping = {
+ ["toggle_line"] = {
+ map = "dd",
+ cmd = "<cmd>lua require('spectre').toggle_line()<CR>",
+ desc = "toggle current item",
+ },
+ ["enter_file"] = {
+ map = "<cr>",
+ cmd = "<cmd>lua require('spectre.actions').select_entry()<CR>",
+ desc = "goto current file",
+ },
+ ["send_to_qf"] = {
+ map = "<Blash>q",
+ cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
+ desc = "send all item to quickfix",
+ },
+ ["replace_cmd"] = {
+ map = "<Bslash>c",
+ cmd = "<cmd>lua require('spectre.actions').replace_cmd()<CR>",
+ desc = "input replace vim command",
+ },
+ ["show_option_menu"] = {
+ map = "<Bslash>o",
+ cmd = "<cmd>lua require('spectre').show_options()<CR>",
+ desc = "show option",
+ },
+ ["run_replace"] = {
+ map = "<Bslash>R",
+ cmd = "<cmd>lua require('spectre.actions').run_replace()<CR>",
+ desc = "replace all",
+ },
+ ["change_view_mode"] = {
+ map = "<Bslash>v",
+ cmd = "<cmd>lua require('spectre').change_view()<CR>",
+ desc = "change result view mode",
+ },
+ ["toggle_ignore_case"] = {
map = "ti",
cmd = "<cmd>lua require('spectre').change_options('ignore-case')<CR>",
- desc = "toggle ignore case"
+ desc = "toggle ignore case",
},
- ['toggle_ignore_hidden'] = {
+ ["toggle_ignore_hidden"] = {
map = "th",
cmd = "<cmd>lua require('spectre').change_options('hidden')<CR>",
- desc = "toggle search hidden"
+ desc = "toggle search hidden",
},
-- you can put your mapping here it only use normal mode
- }
-})
-
+ },
+}
diff --git a/lua/lv-symbols-outline/init.lua b/lua/lv-symbols-outline/init.lua
index 63fb2cfc..f15b5dfb 100644
--- a/lua/lv-symbols-outline/init.lua
+++ b/lua/lv-symbols-outline/init.lua
@@ -1,15 +1,15 @@
vim.g.symbols_outline = {
- highlight_hovered_item = true,
- show_guides = true,
- auto_preview = true,
- position = 'right',
- keymaps = {
- close = "<Esc>",
- goto_location = "<Cr>",
- focus_location = "o",
- hover_symbol = "<C-space>",
- rename_symbol = "r",
- code_actions = "a",
- },
- lsp_blacklist = {},
+ highlight_hovered_item = true,
+ show_guides = true,
+ auto_preview = true,
+ position = "right",
+ keymaps = {
+ close = "<Esc>",
+ goto_location = "<Cr>",
+ focus_location = "o",
+ hover_symbol = "<C-space>",
+ rename_symbol = "r",
+ code_actions = "a",
+ },
+ lsp_blacklist = {},
}
diff --git a/lua/lv-telescope/init.lua b/lua/lv-telescope/init.lua
index 8bf73369..6bbce291 100644
--- a/lua/lv-telescope/init.lua
+++ b/lua/lv-telescope/init.lua
@@ -1,82 +1,86 @@
-local actions = require('telescope.actions')
+local actions = require "telescope.actions"
-- if O.plugin.trouble.active then
-- local trouble = require("trouble.providers.telescope")
-- end
-- Global remapping
------------------------------
-- '--color=never',
-require('telescope').setup {
- defaults = {
- find_command = {
- 'rg', '--no-heading', '--with-filename', '--line-number',
- '--column', '--smart-case'
- },
- prompt_prefix = " ",
- selection_caret = " ",
- entry_prefix = " ",
- initial_mode = "insert",
- selection_strategy = "reset",
- sorting_strategy = "descending",
- layout_strategy = "horizontal",
- layout_config = {
- width = 0.75,
- prompt_position = "bottom",
- preview_cutoff = 120,
- horizontal = {mirror = false},
- vertical = {mirror = false}
- },
- file_sorter = require'telescope.sorters'.get_fzy_sorter,
- file_ignore_patterns = {},
- generic_sorter = require'telescope.sorters'.get_generic_fuzzy_sorter,
- shorten_path = true,
- winblend = 0,
- border = {},
- borderchars = {'─', '│', '─', '│', '╭', '╮', '╯', '╰'},
- color_devicons = true,
- use_less = true,
- set_env = {['COLORTERM'] = 'truecolor'}, -- default = nil,
- file_previewer = require'telescope.previewers'.vim_buffer_cat.new,
- grep_previewer = require'telescope.previewers'.vim_buffer_vimgrep.new,
- qflist_previewer = require'telescope.previewers'.vim_buffer_qflist.new,
+require("telescope").setup {
+ defaults = {
+ find_command = {
+ "rg",
+ "--no-heading",
+ "--with-filename",
+ "--line-number",
+ "--column",
+ "--smart-case",
+ },
+ prompt_prefix = " ",
+ selection_caret = " ",
+ entry_prefix = " ",
+ initial_mode = "insert",
+ selection_strategy = "reset",
+ sorting_strategy = "descending",
+ layout_strategy = "horizontal",
+ layout_config = {
+ width = 0.75,
+ prompt_position = "bottom",
+ preview_cutoff = 120,
+ horizontal = { mirror = false },
+ vertical = { mirror = false },
+ },
+ file_sorter = require("telescope.sorters").get_fzy_sorter,
+ file_ignore_patterns = {},
+ generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
+ shorten_path = true,
+ winblend = 0,
+ border = {},
+ borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
+ color_devicons = true,
+ use_less = true,
+ set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
+ file_previewer = require("telescope.previewers").vim_buffer_cat.new,
+ grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
+ qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
- -- Developer configurations: Not meant for general override
- buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker,
- mappings = {
- i = {
- ["<C-c>"] = actions.close,
- ["<C-j>"] = actions.move_selection_next,
- ["<C-k>"] = actions.move_selection_previous,
- -- ["<c-t>"] = trouble.open_with_trouble,
- ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist,
- -- To disable a keymap, put [map] = false
- -- So, to not map "<C-n>", just put
- -- ["<c-x>"] = false,
- -- ["<esc>"] = actions.close,
+ -- Developer configurations: Not meant for general override
+ buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker,
+ mappings = {
+ i = {
+ ["<C-c>"] = actions.close,
+ ["<C-j>"] = actions.move_selection_next,
+ ["<C-k>"] = actions.move_selection_previous,
+ -- ["<c-t>"] = trouble.open_with_trouble,
+ ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist,
+ -- To disable a keymap, put [map] = false
+ -- So, to not map "<C-n>", just put
+ -- ["<c-x>"] = false,
+ -- ["<esc>"] = actions.close,
- -- Otherwise, just set the mapping to the function that you want it to be.
- -- ["<C-i>"] = actions.select_horizontal,
+ -- Otherwise, just set the mapping to the function that you want it to be.
+ -- ["<C-i>"] = actions.select_horizontal,
- -- Add up multiple actions
- ["<CR>"] = actions.select_default + actions.center
+ -- Add up multiple actions
+ ["<CR>"] = actions.select_default + actions.center,
- -- You can perform as many actions in a row as you like
- -- ["<CR>"] = actions.select_default + actions.center + my_cool_custom_action,
- },
- n = {
- ["<C-j>"] = actions.move_selection_next,
- ["<C-k>"] = actions.move_selection_previous,
- -- ["<c-t>"] = trouble.open_with_trouble,
- ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist
- -- ["<C-i>"] = my_cool_custom_action,
- }
- }
+ -- You can perform as many actions in a row as you like
+ -- ["<CR>"] = actions.select_default + actions.center + my_cool_custom_action,
+ },
+ n = {
+ ["<C-j>"] = actions.move_selection_next,
+ ["<C-k>"] = actions.move_selection_previous,
+ -- ["<c-t>"] = trouble.open_with_trouble,
+ ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist,
+ -- ["<C-i>"] = my_cool_custom_action,
+ },
+ },
+ },
+ extensions = {
+ fzy_native = {
+ override_generic_sorter = false,
+ override_file_sorter = true,
},
- extensions = {
- fzy_native = {
- override_generic_sorter = false,
- override_file_sorter = true
- }
- }
+ },
}
-- require'telescope'.load_extension('project')
diff --git a/lua/lv-themes/spacegray.lua b/lua/lv-themes/spacegray.lua
index d21c0037..0bb695c0 100644
--- a/lua/lv-themes/spacegray.lua
+++ b/lua/lv-themes/spacegray.lua
@@ -1,361 +1,370 @@
-local lush = require('lush')
+local lush = require "lush"
local hsl = lush.hsl
local theme = lush(function()
- local c = {
- bg = hsl("#212121"),
- bg1 = hsl("#2a2a2a"),
- -- bg2 = hsl("#3a3a3a"),
- bg2 = hsl("#383d45"),
-
- white = hsl("#c8c9d1"),
-
- gray = hsl("#858585"),
- light_gray = hsl("#c8c9c1"),
-
- error_red = hsl("#F44747"),
- warning_orange = hsl("#ff8800"),
- info_yellow = hsl("#ffcc66"),
- hint_blue = hsl("#4fc1ff"),
-
- red = hsl("#b04b57"),
-
- blue = hsl("#5486c0"),
- gray_blue = hsl("#66899d"),
-
- -- yellow = hsl("#ffcb6b"),
- yellow = hsl("#eeba5a"),
-
- -- orange = hsl("#c98a75"),
- orange = hsl("#c6735a"),
-
- green = hsl("#87b379"),
- light_green = hsl("#b2d77c"),
-
- -- aqua = hsl("#46b1d0"),
- aqua = hsl("#65a7c5"),
-
- purple = hsl("#bf83c1"),
- pale_purple = hsl("#7199ee"),
-
- sign_add = hsl("#587C0C"),
- sign_change = hsl("#0C7D9D"),
- sign_delete = hsl("#94151B"),
-
- test = hsl("#ff00ff")
- }
- return {
- Normal {bg = c.bg, fg = c.white, gui = "NONE"}, -- used for the columns set with 'colorcolumn'
- SignColumn {Normal},
- ModeMsg {Normal},
- MsgArea {Normal},
- MsgSeparator {Normal},
- SpellBad {bg = "NONE", fg = c.white, gui = "underline", sp = c.red},
- SpellCap {bg = "NONE", fg = c.white, gui = "underline", sp = c.yellow},
- SpellLocal {bg = "NONE", fg = c.white, gui = "underline", sp = c.green},
- SpellRare {bg = "NONE", fg = c.white, gui = "underline", sp = c.blue},
- NormalNC {Normal},
- Pmenu {bg = c.bg2, fg = c.white, gui = "NONE"},
- PmenuSel {bg = c.gray_blue, fg = c.bg1.da(5), gui = "NONE"},
- WildMenu {PmenuSel}, -- Non Defaults
- CursorLineNr {bg = "NONE", fg = c.light_gray, gui = "bold"},
- Comment {bg = "NONE", fg = c.gray, gui = "italic"}, -- any comment
- Folded {bg = c.bg1, fg = c.gray, gui = "NONE"},
- FoldColumn {Normal, fg = c.gray, gui = "NONE"},
- LineNr {bg = "NONE", fg = c.gray, gui = "NONE"},
- FloatBorder {bg = c.bg1, fg = c.gray, gui = "NONE"},
- Whitespace {bg = "NONE", fg = c.gray.da(35), gui = "NONE"},
- VertSplit {bg = "NONE", fg = c.bg2, gui = "NONE"},
- CursorLine {bg = c.bg1, fg = "NONE", gui = "NONE"},
- CursorColumn {CursorLine},
- ColorColumn {CursorLine},
- NormalFloat {bg = c.bg2.da(30), fg = "NONE", gui = "NONE"},
- Visual {bg = c.bg2.da(25), fg = "NONE", gui = "NONE"},
- VisualNOS {Visual}, WarningMsg {bg = "NONE", fg = c.red, gui = "NONE"},
- DiffText {bg = "NONE", fg = "NONE", gui = "NONE"},
- DiffAdd {bg = c.sign_add, fg = "NONE", gui = "NONE"},
- DiffChange {bg = c.sign_change, fg = "NONE", gui = "NONE"},
- DiffDelete {bg = c.sign_delete, fg = "NONE", gui = "NONE"},
- QuickFixLine {CursorLine},
- PmenuSbar {bg = c.bg2.li(15), fg = "NONE", gui = "NONE"},
- PmenuThumb {bg = c.white, fg = "NONE", gui = "NONE"},
- MatchParen {CursorLine, fg = "NONE", gui = "NONE"},
- Cursor {fg = "NONE", bg = "NONE", gui = "reverse"},
- lCursor {Cursor},
- CursorIM {Cursor},
- TermCursor {Cursor}, TermCursorNC {Cursor},
- Conceal {bg = "NONE", fg = c.blue, gui = "NONE"},
- Directory {bg = "NONE", fg = c.blue, gui = "NONE"},
- SpecialKey {bg = "NONE", fg = c.blue, gui = "bold"},
- Title {bg = "NONE", fg = c.blue, gui = "bold"},
- ErrorMsg {bg = "NONE", fg = c.error_red, gui = "NONE"},
- Search {bg = c.gray_blue, fg = c.white},
- IncSearch {Search},
- Substitute {Search},
- MoreMsg {bg = "NONE", fg = c.aqua, gui = "NONE"},
- Question {MoreMsg},
- EndOfBuffer {bg = "NONE", fg = c.bg, gui = "NONE"},
- NonText {EndOfBuffer},
-
- String {fg = c.green},
- Character {fg = c.light_green},
- Constant {fg = c.orange},
- Number {fg = c.red},
- Boolean {fg = c.red},
- Float {fg = c.red},
-
- Identifier {fg = c.white},
- Function {fg = c.yellow},
- Operator {fg = c.gray_blue},
-
- Type {fg = c.purple},
- StorageClass {Type},
- Structure {Type},
- Typedef {Type},
-
- Keyword {fg = c.blue},
- Statement {Keyword },
- Conditional {Keyword},
- Repeat {Keyword},
- Label {Keyword},
- Exception {Keyword},
-
- Include {Keyword},
- PreProc {fg = c.aqua},
- Define {PreProc},
- Macro {PreProc},
- PreCondit {PreProc},
-
-
- Special {fg = c.orange},
- SpecialChar {Character},
- Tag {fg = c.pale_purple},
- Debug {fg = c.red},
- Delimiter {fg = c.white.da(25)},
- SpecialComment {fg = c.gray},
- Underlined {fg = "NONE", gui = "underline"},
- Bold {fg = "NONE", gui = "bold"},
- Italic {fg = "NONE", gui = "italic"},
-
- -- Todo
- -- ("Ignore", below, may be invisible...)
- Ignore {fg = c.white},
- Todo {bg = "NONE", fg = c.red, gui = "bold"},
- Error {fg = c.error_red},
-
- -- Treesitter
- TSComment {Comment}, -- comment blocks.
- luaTSConstructor {bg = "NONE", fg = c.white.da(25)}, -- override Lua curly braces
- TSAnnotation {bg = "NONE", fg = c.aqua}, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
- TSAttribute {bg = "NONE", fg = c.aqua}, -- (unstable) TODO: docs
- TSConstructor {Type}, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
- TSType {Type}, -- types.
- TSTypeBuiltin {Type}, -- builtin types.
- TSConditional {Conditional}, -- keywords related to conditionnals.
- TSException {Exception}, -- exception related keywords.
- TSInclude {Include}, -- includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
- TSKeyword {Keyword}, -- keywords that don't fall in previous categories.
- TSKeywordFunction {Keyword}, -- keywords used to define a fuction.
- TSLabel {Label}, -- labels: `label:` in C and `:label:` in Lua.
- TSNamespace {bg = "NONE", fg = c.blue}, -- For identifiers referring to modules and namespaces.
- TSRepeat {Repeat}, -- keywords related to loops.
- TSConstant {Constant}, -- constants
- TSConstBuiltin {Constant}, -- constant that are built in the language: `nil` in Lua.
- TSFloat {Float}, -- floats.
- TSNumber {Number}, -- all numbers
- TSBoolean {Boolean}, -- booleans.
- TSCharacter {Character}, -- characters.
- TSError {bg = "NONE", fg = "NONE"}, -- For syntax/parser errors.
- TSFunction {Function}, -- function (calls and definitions).
- TSFuncBuiltin {Function}, -- builtin functions: `table.insert` in Lua.
- TSMethod {Function}, -- method calls and definitions.
- TSConstMacro {Macro}, -- constants that are defined by macros: `NULL` in C.
- TSFuncMacro {Macro}, -- macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
- TSVariableBuiltin {bg = "NONE", fg = c.aqua}, -- Variable names that are defined by the languages, like `this` or `self`.
- TSProperty {fg = c.aqua},
- TSOperator {Operator}, -- any operator: `+`, but also `->` and `*` in C.
- TSVariable {bg = "NONE", fg = c.white}, -- Any variable name that does not have another highlight.
- TSField {bg = "NONE", fg = c.white}, -- For fields.
- TSParameter {TSField}, -- parameters of a function.
- TSParameterReference {TSParameter}, -- references to parameters of a function.
- TSSymbol {Identifier}, -- identifiers referring to symbols or atoms.
- TSText {fg = c.white}, -- strings considered text in a markup language.
- TSPunctDelimiter {Delimiter}, -- delimiters ie: `.`
- TSTagDelimiter {Delimiter}, -- Tag delimiter like `<` `>` `/`
- TSPunctBracket {Delimiter}, -- brackets and parens.
- TSPunctSpecial {Delimiter}, -- special punctutation that does not fall in the catagories before.
- TSString {String}, -- strings.
- TSStringRegex {TSString}, -- regexes.
- TSStringEscape {Character}, -- escape characters within a string.
- TSWarning {Todo}, -- Variable names that are defined by the languages, like `this` or `self`.
- TSTag {Tag}, -- Tags like html tag names.
- TSEmphasis {gui = "italic"}, -- text to be represented with emphasis.
- TSUnderline {gui = "underline"}, -- text to be represented with an underline.
- TSStrike {gui = "strikethrough"}, -- strikethrough text.
- TSTitle {Title}, -- Text that is part of a title.
- TSLiteral {String}, -- Literal text.
- TSURI {fg = c.aqua}, -- Any URI like a link or email.
- -- TSNone { }, -- TODO: docs
-
- -- These groups are for the native LSP client. Some other LSP clients may
- -- use these groups, or use their own. Consult your LSP client's
- -- documentation.
-
- LspDiagnosticsDefaultError {bg = "NONE", fg = c.error_red, gui = "NONE"},
- LspDiagnosticsDefaultWarning {bg = "NONE", fg = c.warning_orange, gui = "NONE"},
- LspDiagnosticsDefaultInformation {bg = "NONE", fg = c.info_yellow, gui = "NONE"},
- LspDiagnosticsDefaultHint {bg = "NONE", fg = c.hint_blue, gui = "NONE"},
-
- LspDiagnosticsVirtualTextError {LspDiagnosticsDefaultError},
- LspDiagnosticsVirtualTextWarning {LspDiagnosticsDefaultWarning},
- LspDiagnosticsVirtualTextInformation {LspDiagnosticsDefaultInformation},
- LspDiagnosticsVirtualTextHint {LspDiagnosticsDefaultHint},
-
- LspDiagnosticsFloatingError {fg = c.error_red, gui = "NONE"},
- LspDiagnosticsFloatingWarning {fg = c.warning_orange, gui = "NONE"},
- LspDiagnosticsFloatingInformation {fg = c.info_yellow, gui = "NONE"},
- LspDiagnosticsFloatingHint {fg = c.hint_blue, gui = "NONE"},
-
- LspDiagnosticsSignError {fg = c.error_red, gui = "NONE"},
- LspDiagnosticsSignWarning {fg = c.warning_orange, gui = "NONE"},
- LspDiagnosticsSignInformation {fg = c.info_yellow, gui = "NONE"},
- LspDiagnosticsSignHint {fg = c.hint_blue, gui = "NONE"}, -- Tree-Sitter
-
- LspDiagnosticsError {LspDiagnosticsSignError},
- LspDiagnosticsWarning {LspDiagnosticsSignWarning},
- LspDiagnosticsInformation {LspDiagnosticsSignInformation},
- LspDiagnosticsHint {LspDiagnosticsSignHint},
-
- -- LspReferenceText {bg = c.bg1, fg = "NONE", gui = "underline"},
- -- LspReferenceRead {bg = c.bg1, fg = "NONE", gui = "underline"},
- -- LspReferenceWrite {bg = c.bg1, fg = "NONE", gui = "underline"},
-
- LspDiagnosticsUnderlineError {fg = "NONE", gui = "underline", sp = c.red},
- LspDiagnosticsUnderlineWarning {fg = "NONE", gui = "underline", sp = c.yellow},
- LspDiagnosticsUnderlineInformation {fg = "NONE", gui = "underline", sp = c.blue},
- LspDiagnosticsUnderlineHint {fg = "NONE", gui = "underline", sp = c.green},
-
- -- gitsigns.nvim
- SignAdd {fg = c.sign_add},
- SignChange {fg = c.sign_change},
- SignDelete {fg = c.sign_delete}, -- Any URI like a link or email.
- GitSignsAdd {fg = c.sign_add},
- GitSignsChange { fg = c.sign_change},
- GitSignsDelete {fg = c.sign_delete},
-
- -- telescope.nvim
- TelescopeSelection {bg = "NONE", fg = c.aqua},
- TelescopeMatching {bg = "NONE", fg = c.red, gui = "bold"},
- TelescopeBorder {bg = c.bg1, fg = c.gray}, -- nvim-tree.lua
-
- -- Nvimtree
- NvimTreeFolderIcon {fg = c.blue},
- NvimTreeIndentMarker {fg = c.gray},
- NvimTreeNormal {fg = c.white.da(10), bg = c.bg1},
- NvimTreeFolderName {fg = c.blue},
- NvimTreeOpenedFolderName {fg = c.aqua.da(10), gui = "italic"},
- NvimTreeOpenedFile {NvimTreeOpenedFolderName},
- NvimTreeRootFolder {fg = c.blue.da(20)},
- NvimTreeExecFile {fg = c.green},
- NvimTreeImageFile {fg = c.purple},
- NvimTreeSpecialFile {fg = c.aqua},
-
- NvimTreeGitStaged {fg = c.sign_add},
- NvimTreeGitNew {fg = c.sign_add},
- NvimTreeGitDirty {fg = c.sign_add},
- NvimTreeGitRenamed {fg = c.sign_change},
- NvimTreeGitMerge {fg = c.sign_change},
- NvimTreeGitDelete {fg = c.sign_delete},
- NvimTreeVertSplit {fg = c.bg1, bg = c.bg1},
-
- -- BarBar
- TabLine {bg = c.bg1, fg = c.white, gui = "NONE"},
- TabLineFill {bg = c.bg1, fg = c.white, gui = "NONE"},
- TabLineSel {bg = c.blue, fg = c.bg1, gui = "NONE"},
-
- BufferCurrent {fg = c.fg, bg = c.bg},
- BufferCurrentIndex {fg = c.aqua, bg = c.bg},
- BufferCurrentMod {fg = c.info_yellow, bg = c.bg},
- BufferCurrentSign {fg = c.aqua, bg = c.bg},
- BufferCurrentTarget {fg = c.red, bg = c.bg, gui = "bold"},
-
- BufferVisible {fg = c.fg, bg = c.bg},
- BufferVisibleIndex {fg = c.fg, bg = c.bg},
- BufferVisibleMod {fg = c.info_yellow, bg = c.bg},
- BufferVisibleSign {fg = c.info_yellow, bg = c.bg},
- BufferVisibleTarget {fg = c.red, bg = c.bg, gui = "bold"},
-
- BufferInactive {fg = c.gray, bg = c.bg1},
- BufferInactiveIndex {fg = c.gray, bg = c.bg1},
- BufferInactiveMod {fg = c.info_yellow, bg = c.bg1},
- BufferInactiveSign {fg = c.gray, bg = c.bg1},
- BufferInactiveTarget {fg = c.red, bg = c.bg1},
-
- -- some fix for html related stuff
- htmlH1 {Title}, -- markdown stuff
- mkdLink {fg = c.aqua, gui = "underline"},
- mkdLineBreak {bg = "NONE", fg = "NONE", gui = "NONE"},
- mkdHeading {fg = c.white},
- mkdInlineURL {mkdLink},
- mkdUnderline {fg = c.gray},
- markdownUrl {mkdLink},
- markdownCode {fg = c.orange, bg = "NONE"},
- markdownLinkTextDelimiter {Delimiter},
- markdownLinkDelimiter {Delimiter},
- markdownIdDelimiter {Delimiter},
- markdownLinkText {fg = c.aqua},
- markdownItalic {fg = "NONE", gui = "italic"}, -- flutter-tools.nvim
- FlutterWidgetGuides {fg = c.gray.li(10)}, -- statusline
-
- StatusLine {bg = c.bg1, fg = c.white},
- StatusLineNC {bg = c.bg1, fg = c.gray},
- StatusLineMode {bg = c.gray, fg = c.bg, gui = "bold"},
- StatusLineDeco {bg = c.bg2, fg = c.yellow},
- StatusLineLCol {bg = c.bg2, fg = c.white},
- StatusLineLColAlt {bg = c.bg1, fg = c.white},
- StatusLineFT {bg = c.bg2, fg = c.white},
- StatusLineFTAlt {bg = c.bg2, fg = c.white},
- StatusLineGit {bg = c.gray, fg = c.bg},
- StatusLineGitAlt {bg = c.gray, fg = c.bg},
- StatusLineLSP {bg = c.bg1, fg = c.gray.li(25)},
- StatusLineFileName {bg = c.bg1, fg = c.white, gui = "bold"},
-
-
- -- lsp-trouble.nvim
- LspTroubleIndent {fg = c.gray.li(10)}, -- tabline stuff
-
- -- tabline diagnostic
- TabLineError {LspDiagnosticsSignError},
- TabLineWarning {LspDiagnosticsSignWarning},
- TabLineHint {LspDiagnosticsSignHint},
- TabLineInformation {LspDiagnosticsSignInformation}, -- which-key.nvim
-
- WhichKey {fg = c.purple}, -- nvim-compe
- WhichKeySeperator {fg = c.green}, -- nvim-compe
- WhichKeyGroup {fg = c.blue}, -- nvim-compe
- WhichKeyDesc {fg = c.aqua}, -- nvim-compe
- WhichKeyFloat {bg = c.bg1}, -- nvim-compe
-
-
- CompeDocumentation {Pmenu, fg = "NONE"}, -- diffview
-
- DiffviewNormal {NvimTreeNormal},
- DiffviewStatusAdded {SignAdd},
- DiffviewStatusModified {SignChange},
- DiffviewStatusRenamed {SignChange},
- DiffviewStatusDeleted {SignDelete},
- DiffviewFilePanelInsertion {SignAdd},
- DiffviewFilePanelDeletion {SignDelete},
- DiffviewVertSplit {fg = c.gray, bg = c.bg},
-
- DashboardHeader {fg = c.blue},
- DashboardCenter {fg = c.purple},
- DashboardFooter {fg = c.aqua},
-
- IndentBlanklineContextChar {fg = c.gray.da(20)},
-
- CodiVirtualText {fg = c.hint_blue}
- }
+ local c = {
+ bg = hsl "#212121",
+ bg1 = hsl "#2a2a2a",
+ -- bg2 = hsl("#3a3a3a"),
+ bg2 = hsl "#383d45",
+
+ white = hsl "#c8c9d1",
+
+ gray = hsl "#858585",
+ light_gray = hsl "#c8c9c1",
+
+ error_red = hsl "#F44747",
+ warning_orange = hsl "#ff8800",
+ info_yellow = hsl "#ffcc66",
+ hint_blue = hsl "#4fc1ff",
+
+ red = hsl "#b04b57",
+
+ blue = hsl "#5486c0",
+ gray_blue = hsl "#66899d",
+
+ -- yellow = hsl("#ffcb6b"),
+ yellow = hsl "#eeba5a",
+
+ -- orange = hsl("#c98a75"),
+ orange = hsl "#c6735a",
+
+ green = hsl "#87b379",
+ light_green = hsl "#b2d77c",
+
+ -- aqua = hsl("#46b1d0"),
+ aqua = hsl "#65a7c5",
+
+ purple = hsl "#bf83c1",
+ pale_purple = hsl "#7199ee",
+
+ sign_add = hsl "#587C0C",
+ sign_change = hsl "#0C7D9D",
+ sign_delete = hsl "#94151B",
+
+ test = hsl "#ff00ff",
+ }
+ return {
+ Normal { bg = c.bg, fg = c.white, gui = "NONE" }, -- used for the columns set with 'colorcolumn'
+ SignColumn { Normal },
+ ModeMsg { Normal },
+ MsgArea { Normal },
+ MsgSeparator { Normal },
+ SpellBad { bg = "NONE", fg = c.white, gui = "underline", sp = c.red },
+ SpellCap { bg = "NONE", fg = c.white, gui = "underline", sp = c.yellow },
+ SpellLocal { bg = "NONE", fg = c.white, gui = "underline", sp = c.green },
+ SpellRare { bg = "NONE", fg = c.white, gui = "underline", sp = c.blue },
+ NormalNC { Normal },
+ Pmenu { bg = c.bg2, fg = c.white, gui = "NONE" },
+ PmenuSel { bg = c.gray_blue, fg = c.bg1.da(5), gui = "NONE" },
+ WildMenu { PmenuSel }, -- Non Defaults
+ CursorLineNr { bg = "NONE", fg = c.light_gray, gui = "bold" },
+ Comment { bg = "NONE", fg = c.gray, gui = "italic" }, -- any comment
+ Folded { bg = c.bg1, fg = c.gray, gui = "NONE" },
+ FoldColumn { Normal, fg = c.gray, gui = "NONE" },
+ LineNr { bg = "NONE", fg = c.gray, gui = "NONE" },
+ FloatBorder { bg = c.bg1, fg = c.gray, gui = "NONE" },
+ Whitespace { bg = "NONE", fg = c.gray.da(35), gui = "NONE" },
+ VertSplit { bg = "NONE", fg = c.bg2, gui = "NONE" },
+ CursorLine { bg = c.bg1, fg = "NONE", gui = "NONE" },
+ CursorColumn { CursorLine },
+ ColorColumn { CursorLine },
+ NormalFloat { bg = c.bg2.da(30), fg = "NONE", gui = "NONE" },
+ Visual { bg = c.bg2.da(25), fg = "NONE", gui = "NONE" },
+ VisualNOS { Visual },
+ WarningMsg { bg = "NONE", fg = c.red, gui = "NONE" },
+ DiffText { bg = "NONE", fg = "NONE", gui = "NONE" },
+ DiffAdd { bg = c.sign_add, fg = "NONE", gui = "NONE" },
+ DiffChange { bg = c.sign_change, fg = "NONE", gui = "NONE" },
+ DiffDelete { bg = c.sign_delete, fg = "NONE", gui = "NONE" },
+ QuickFixLine { CursorLine },
+ PmenuSbar { bg = c.bg2.li(15), fg = "NONE", gui = "NONE" },
+ PmenuThumb { bg = c.white, fg = "NONE", gui = "NONE" },
+ MatchParen { CursorLine, fg = "NONE", gui = "NONE" },
+ Cursor { fg = "NONE", bg = "NONE", gui = "reverse" },
+ lCursor { Cursor },
+ CursorIM { Cursor },
+ TermCursor { Cursor },
+ TermCursorNC { Cursor },
+ Conceal { bg = "NONE", fg = c.blue, gui = "NONE" },
+ Directory { bg = "NONE", fg = c.blue, gui = "NONE" },
+ SpecialKey { bg = "NONE", fg = c.blue, gui = "bold" },
+ Title { bg = "NONE", fg = c.blue, gui = "bold" },
+ ErrorMsg { bg = "NONE", fg = c.error_red, gui = "NONE" },
+ Search { bg = c.gray_blue, fg = c.white },
+ IncSearch { Search },
+ Substitute { Search },
+ MoreMsg { bg = "NONE", fg = c.aqua, gui = "NONE" },
+ Question { MoreMsg },
+ EndOfBuffer { bg = "NONE", fg = c.bg, gui = "NONE" },
+ NonText { EndOfBuffer },
+
+ String { fg = c.green },
+ Character { fg = c.light_green },
+ Constant { fg = c.orange },
+ Number { fg = c.red },
+ Boolean { fg = c.red },
+ Float { fg = c.red },
+
+ Identifier { fg = c.white },
+ Function { fg = c.yellow },
+ Operator { fg = c.gray_blue },
+
+ Type { fg = c.purple },
+ StorageClass { Type },
+ Structure { Type },
+ Typedef { Type },
+
+ Keyword { fg = c.blue },
+ Statement { Keyword },
+ Conditional { Keyword },
+ Repeat { Keyword },
+ Label { Keyword },
+ Exception { Keyword },
+
+ Include { Keyword },
+ PreProc { fg = c.aqua },
+ Define { PreProc },
+ Macro { PreProc },
+ PreCondit { PreProc },
+
+ Special { fg = c.orange },
+ SpecialChar { Character },
+ Tag { fg = c.pale_purple },
+ Debug { fg = c.red },
+ Delimiter { fg = c.white.da(25) },
+ SpecialComment { fg = c.gray },
+ Underlined { fg = "NONE", gui = "underline" },
+ Bold { fg = "NONE", gui = "bold" },
+ Italic { fg = "NONE", gui = "italic" },
+
+ -- Todo
+ -- ("Ignore", below, may be invisible...)
+ Ignore { fg = c.white },
+ Todo { bg = "NONE", fg = c.red, gui = "bold" },
+ Error { fg = c.error_red },
+
+ -- Treesitter
+ TSComment { Comment }, -- comment blocks.
+ luaTSConstructor { bg = "NONE", fg = c.white.da(25) }, -- override Lua curly braces
+ TSAnnotation { bg = "NONE", fg = c.aqua }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
+ TSAttribute { bg = "NONE", fg = c.aqua }, -- (unstable) TODO: docs
+ TSConstructor { Type }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
+ TSType { Type }, -- types.
+ TSTypeBuiltin { Type }, -- builtin types.
+ TSConditional { Conditional }, -- keywords related to conditionnals.
+ TSException { Exception }, -- exception related keywords.
+ TSInclude { Include }, -- includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
+ TSKeyword { Keyword }, -- keywords that don't fall in previous categories.
+ TSKeywordFunction { Keyword }, -- keywords used to define a fuction.
+ TSLabel { Label }, -- labels: `label:` in C and `:label:` in Lua.
+ TSNamespace { bg = "NONE", fg = c.blue }, -- For identifiers referring to modules and namespaces.
+ TSRepeat { Repeat }, -- keywords related to loops.
+ TSConstant { Constant }, -- constants
+ TSConstBuiltin { Constant }, -- constant that are built in the language: `nil` in Lua.
+ TSFloat { Float }, -- floats.
+ TSNumber { Number }, -- all numbers
+ TSBoolean { Boolean }, -- booleans.
+ TSCharacter { Character }, -- characters.
+ TSError { bg = "NONE", fg = "NONE" }, -- For syntax/parser errors.
+ TSFunction { Function }, -- function (calls and definitions).
+ TSFuncBuiltin { Function }, -- builtin functions: `table.insert` in Lua.
+ TSMethod { Function }, -- method calls and definitions.
+ TSConstMacro { Macro }, -- constants that are defined by macros: `NULL` in C.
+ TSFuncMacro { Macro }, -- macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
+ TSVariableBuiltin { bg = "NONE", fg = c.aqua }, -- Variable names that are defined by the languages, like `this` or `self`.
+ TSProperty { fg = c.aqua },
+ TSOperator { Operator }, -- any operator: `+`, but also `->` and `*` in C.
+ TSVariable { bg = "NONE", fg = c.white }, -- Any variable name that does not have another highlight.
+ TSField { bg = "NONE", fg = c.white }, -- For fields.
+ TSParameter { TSField }, -- parameters of a function.
+ TSParameterReference { TSParameter }, -- references to parameters of a function.
+ TSSymbol { Identifier }, -- identifiers referring to symbols or atoms.
+ TSText { fg = c.white }, -- strings considered text in a markup language.
+ TSPunctDelimiter { Delimiter }, -- delimiters ie: `.`
+ TSTagDelimiter { Delimiter }, -- Tag delimiter like `<` `>` `/`
+ TSPunctBracket { Delimiter }, -- brackets and parens.
+ TSPunctSpecial { Delimiter }, -- special punctutation that does not fall in the catagories before.
+ TSString { String }, -- strings.
+ TSStringRegex { TSString }, -- regexes.
+ TSStringEscape { Character }, -- escape characters within a string.
+ TSWarning { Todo }, -- Variable names that are defined by the languages, like `this` or `self`.
+ TSTag { Tag }, -- Tags like html tag names.
+ TSEmphasis { gui = "italic" }, -- text to be represented with emphasis.
+ TSUnderline { gui = "underline" }, -- text to be represented with an underline.
+ TSStrike { gui = "strikethrough" }, -- strikethrough text.
+ TSTitle { Title }, -- Text that is part of a title.
+ TSLiteral { String }, -- Literal text.
+ TSURI { fg = c.aqua }, -- Any URI like a link or email.
+ -- TSNone { }, -- TODO: docs
+
+ -- These groups are for the native LSP client. Some other LSP clients may
+ -- use these groups, or use their own. Consult your LSP client's
+ -- documentation.
+
+ LspDiagnosticsDefaultError { bg = "NONE", fg = c.error_red, gui = "NONE" },
+ LspDiagnosticsDefaultWarning { bg = "NONE", fg = c.warning_orange, gui = "NONE" },
+ LspDiagnosticsDefaultInformation { bg = "NONE", fg = c.info_yellow, gui = "NONE" },
+ LspDiagnosticsDefaultHint { bg = "NONE", fg = c.hint_blue, gui = "NONE" },
+
+ LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError },
+ LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning },
+ LspDiagnosticsVirtualTextInformation { LspDiagnosticsDefaultInformation },
+ LspDiagnosticsVirtualTextHint { LspDiagnosticsDefaultHint },
+
+ LspDiagnosticsFloatingError { fg = c.error_red, gui = "NONE" },
+ LspDiagnosticsFloatingWarning { fg = c.warning_orange, gui = "NONE" },
+ LspDiagnosticsFloatingInformation { fg = c.info_yellow, gui = "NONE" },
+ LspDiagnosticsFloatingHint { fg = c.hint_blue, gui = "NONE" },
+
+ LspDiagnosticsSignError { fg = c.error_red, gui = "NONE" },
+ LspDiagnosticsSignWarning { fg = c.warning_orange, gui = "NONE" },
+ LspDiagnosticsSignInformation { fg = c.info_yellow, gui = "NONE" },
+ LspDiagnosticsSignHint { fg = c.hint_blue, gui = "NONE" }, -- Tree-Sitter
+
+ LspDiagnosticsError { LspDiagnosticsSignError },
+ LspDiagnosticsWarning { LspDiagnosticsSignWarning },
+ LspDiagnosticsInformation { LspDiagnosticsSignInformation },
+ LspDiagnosticsHint { LspDiagnosticsSignHint },
+
+ -- LspReferenceText {bg = c.bg1, fg = "NONE", gui = "underline"},
+ -- LspReferenceRead {bg = c.bg1, fg = "NONE", gui = "underline"},
+ -- LspReferenceWrite {bg = c.bg1, fg = "NONE", gui = "underline"},
+
+ LspDiagnosticsUnderlineError { fg = "NONE", gui = "underline", sp = c.red },
+ LspDiagnosticsUnderlineWarning { fg = "NONE", gui = "underline", sp = c.yellow },
+ LspDiagnosticsUnderlineInformation { fg = "NONE", gui = "underline", sp = c.blue },
+ LspDiagnosticsUnderlineHint { fg = "NONE", gui = "underline", sp = c.green },
+
+ -- gitsigns.nvim
+ SignAdd { fg = c.sign_add },
+ SignChange { fg = c.sign_change },
+ SignDelete { fg = c.sign_delete }, -- Any URI like a link or email.
+ GitSignsAdd { fg = c.sign_add },
+ GitSignsChange { fg = c.sign_change },
+ GitSignsDelete { fg = c.sign_delete },
+
+ -- telescope.nvim
+ TelescopeSelection { bg = "NONE", fg = c.aqua },
+ TelescopeMatching { bg = "NONE", fg = c.red, gui = "bold" },
+ TelescopeBorder { bg = c.bg1, fg = c.gray }, -- nvim-tree.lua
+
+ -- Nvimtree
+ NvimTreeFolderIcon { fg = c.blue },
+ NvimTreeIndentMarker { fg = c.gray },
+ NvimTreeNormal { fg = c.white.da(10), bg = c.bg1 },
+ NvimTreeFolderName { fg = c.blue },
+ NvimTreeOpenedFolderName { fg = c.aqua.da(10), gui = "italic" },
+ NvimTreeOpenedFile { NvimTreeOpenedFolderName },
+ NvimTreeRootFolder { fg = c.blue.da(20) },
+ NvimTreeExecFile { fg = c.green },
+ NvimTreeImageFile { fg = c.purple },
+ NvimTreeSpecialFile { fg = c.aqua },
+
+ NvimTreeGitStaged { fg = c.sign_add },
+ NvimTreeGitNew { fg = c.sign_add },
+ NvimTreeGitDirty { fg = c.sign_add },
+ NvimTreeGitRenamed { fg = c.sign_change },
+ NvimTreeGitMerge { fg = c.sign_change },
+ NvimTreeGitDelete { fg = c.sign_delete },
+ NvimTreeVertSplit { fg = c.bg1, bg = c.bg1 },
+
+ -- BarBar
+ TabLine { bg = c.bg1, fg = c.white, gui = "NONE" },
+ TabLineFill { bg = c.bg1, fg = c.white, gui = "NONE" },
+ TabLineSel { bg = c.blue, fg = c.bg1, gui = "NONE" },
+
+ BufferCurrent { fg = c.fg, bg = c.bg },
+ BufferCurrentIndex { fg = c.aqua, bg = c.bg },
+ BufferCurrentMod { fg = c.info_yellow, bg = c.bg },
+ BufferCurrentSign { fg = c.aqua, bg = c.bg },
+ BufferCurrentTarget { fg = c.red, bg = c.bg, gui = "bold" },
+
+ BufferVisible { fg = c.fg, bg = c.bg },
+ BufferVisibleIndex { fg = c.fg, bg = c.bg },
+ BufferVisibleMod { fg = c.info_yellow, bg = c.bg },
+ BufferVisibleSign { fg = c.info_yellow, bg = c.bg },
+ BufferVisibleTarget { fg = c.red, bg = c.bg, gui = "bold" },
+
+ BufferInactive { fg = c.gray, bg = c.bg1 },
+ BufferInactiveIndex { fg = c.gray, bg = c.bg1 },
+ BufferInactiveMod { fg = c.info_yellow, bg = c.bg1 },
+ BufferInactiveSign { fg = c.gray, bg = c.bg1 },
+ BufferInactiveTarget { fg = c.red, bg = c.bg1 },
+
+ -- some fix for html related stuff
+ htmlH1 { Title }, -- markdown stuff
+ mkdLink { fg = c.aqua, gui = "underline" },
+ mkdLineBreak { bg = "NONE", fg = "NONE", gui = "NONE" },
+ mkdHeading { fg = c.white },
+ mkdInlineURL { mkdLink },
+ mkdUnderline { fg = c.gray },
+ markdownUrl { mkdLink },
+ markdownCode { fg = c.orange, bg = "NONE" },
+ markdownLinkTextDelimiter { Delimiter },
+ markdownLinkDelimiter { Delimiter },
+ markdownIdDelimiter { Delimiter },
+ markdownLinkText { fg = c.aqua },
+ markdownItalic { fg = "NONE", gui = "italic" }, -- flutter-tools.nvim
+ FlutterWidgetGuides { fg = c.gray.li(10) }, -- statusline
+
+ StatusLine { bg = c.bg1, fg = c.white }, -- status line of current window
+ StatusLineNC { bg = c.bg1, fg = c.light_gray }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
+ StatusLineSeparator { bg = c.bg1, fg = "NONE" },
+ StatusLineGit { bg = c.bg1, fg = c.orange },
+ StatusLineGitAdd { bg = c.bg1, fg = c.green },
+ StatusLineGitChange { bg = c.bg1, fg = c.blue },
+ StatusLineGitDelete { bg = c.bg1, fg = c.red },
+ StatusLineLspDiagnosticsError { bg = c.bg1, fg = c.error_red, gui = "NONE" },
+ StatusLineLspDiagnosticsWarning { bg = c.bg1, fg = c.warning_orange, gui = "NONE" },
+ StatusLineLspDiagnosticsInformation { bg = c.bg1, fg = c.info_yellow, gui = "NONE" },
+ StatusLineLspDiagnosticsHint { bg = c.bg1, fg = c.hint_blue, gui = "NONE" },
+ StatusLineTreeSitter { bg = c.bg1, fg = c.green },
+
+ -- StatusLineMode {bg = c.gray, fg = c.bg, gui = "bold"},
+ -- StatusLineDeco {bg = c.bg2, fg = c.yellow},
+ -- StatusLineLCol {bg = c.bg2, fg = c.white},
+ -- StatusLineLColAlt {bg = c.bg1, fg = c.white},
+ -- StatusLineFT {bg = c.bg2, fg = c.white},
+ -- StatusLineFTAlt {bg = c.bg2, fg = c.white},
+ -- StatusLineGitAlt {bg = c.gray, fg = c.bg},
+ -- StatusLineLSP {bg = c.bg1, fg = c.gray.li(25)},
+ -- StatusLineFileName {bg = c.bg1, fg = c.white, gui = "bold"},
+
+ -- lsp-trouble.nvim
+ LspTroubleIndent { fg = c.gray.li(10) }, -- tabline stuff
+
+ -- tabline diagnostic
+ TabLineError { LspDiagnosticsSignError },
+ TabLineWarning { LspDiagnosticsSignWarning },
+ TabLineHint { LspDiagnosticsSignHint },
+ TabLineInformation { LspDiagnosticsSignInformation }, -- which-key.nvim
+
+ WhichKey { fg = c.purple }, -- nvim-compe
+ WhichKeySeperator { fg = c.green }, -- nvim-compe
+ WhichKeyGroup { fg = c.blue }, -- nvim-compe
+ WhichKeyDesc { fg = c.aqua }, -- nvim-compe
+ WhichKeyFloat { bg = c.bg1 }, -- nvim-compe
+
+ CompeDocumentation { Pmenu, fg = "NONE" }, -- diffview
+
+ DiffviewNormal { NvimTreeNormal },
+ DiffviewStatusAdded { SignAdd },
+ DiffviewStatusModified { SignChange },
+ DiffviewStatusRenamed { SignChange },
+ DiffviewStatusDeleted { SignDelete },
+ DiffviewFilePanelInsertion { SignAdd },
+ DiffviewFilePanelDeletion { SignDelete },
+ DiffviewVertSplit { fg = c.gray, bg = c.bg },
+
+ DashboardHeader { fg = c.blue },
+ DashboardCenter { fg = c.purple },
+ DashboardFooter { fg = c.aqua },
+
+ IndentBlanklineContextChar { fg = c.gray.da(20) },
+
+ CodiVirtualText { fg = c.hint_blue },
+ }
end)
-- return our parsed theme for extension or use else where.
diff --git a/lua/lv-treesitter/init.lua b/lua/lv-treesitter/init.lua
index 99ab185d..ea7ff56f 100644
--- a/lua/lv-treesitter/init.lua
+++ b/lua/lv-treesitter/init.lua
@@ -1,36 +1,39 @@
-require'nvim-treesitter.configs'.setup {
- ensure_installed = O.treesitter.ensure_installed, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
- ignore_install = O.treesitter.ignore_install,
- matchup = {
- enable = true -- mandatory, false will disable the whole extension
- -- disable = { "c", "ruby" }, -- optional, list of language that will be disabled
- },
- highlight = {
- enable = O.treesitter.highlight.enabled -- false will disable the whole extension
- },
- context_commentstring = {enable = O.plugin.ts_context_commentstring, config = {css = '// %s'}},
- -- indent = {enable = true, disable = {"python", "html", "javascript"}},
- -- TODO seems to be broken
- indent = {enable = {"javascriptreact"}},
- autotag = {enable = true},
+-- if not package.loaded['nvim-treesitter'] then
+-- return
+-- end
- playground = {
- enable = O.plugin.ts_playground.active,
- disable = {},
- updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
- persist_queries = false, -- Whether the query persists across vim sessions
- keybindings = {
- toggle_query_editor = 'o',
- toggle_hl_groups = 'i',
- toggle_injected_languages = 't',
- toggle_anonymous_nodes = 'a',
- toggle_language_display = 'I',
- focus_language = 'f',
- unfocus_language = 'F',
- update = 'R',
- goto_node = '<cr>',
- show_help = '?'
- }
- }
-}
+require("nvim-treesitter.configs").setup {
+ ensure_installed = O.treesitter.ensure_installed, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
+ ignore_install = O.treesitter.ignore_install,
+ matchup = {
+ enable = true, -- mandatory, false will disable the whole extension
+ -- disable = { "c", "ruby" }, -- optional, list of language that will be disabled
+ },
+ highlight = {
+ enable = O.treesitter.highlight.enabled, -- false will disable the whole extension
+ },
+ context_commentstring = { enable = O.plugin.ts_context_commentstring, config = { css = "// %s" } },
+ -- indent = {enable = true, disable = {"python", "html", "javascript"}},
+ -- TODO seems to be broken
+ indent = { enable = { "javascriptreact" } },
+ autotag = { enable = true },
+ playground = {
+ enable = O.plugin.ts_playground.active,
+ disable = {},
+ updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
+ persist_queries = false, -- Whether the query persists across vim sessions
+ keybindings = {
+ toggle_query_editor = "o",
+ toggle_hl_groups = "i",
+ toggle_injected_languages = "t",
+ toggle_anonymous_nodes = "a",
+ toggle_language_display = "I",
+ focus_language = "f",
+ unfocus_language = "F",
+ update = "R",
+ goto_node = "<cr>",
+ show_help = "?",
+ },
+ },
+}
diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua
index 016bba62..db3deb87 100644
--- a/lua/lv-utils/init.lua
+++ b/lua/lv-utils/init.lua
@@ -1,27 +1,81 @@
local lv_utils = {}
function lv_utils.define_augroups(definitions) -- {{{1
- -- Create autocommand groups based on the passed definitions
- --
- -- The key will be the name of the group, and each definition
- -- within the group should have:
- -- 1. Trigger
- -- 2. Pattern
- -- 3. Text
- -- just like how they would normally be defined from Vim itself
- for group_name, definition in pairs(definitions) do
- vim.cmd('augroup ' .. group_name)
- vim.cmd('autocmd!')
+ -- Create autocommand groups based on the passed definitions
+ --
+ -- The key will be the name of the group, and each definition
+ -- within the group should have:
+ -- 1. Trigger
+ -- 2. Pattern
+ -- 3. Text
+ -- just like how they would normally be defined from Vim itself
+ for group_name, definition in pairs(definitions) do
+ vim.cmd("augroup " .. group_name)
+ vim.cmd "autocmd!"
- for _, def in pairs(definition) do
- local command = table.concat(vim.tbl_flatten {'autocmd', def}, ' ')
- vim.cmd(command)
- end
-
- vim.cmd('augroup END')
+ for _, def in pairs(definition) do
+ local command = table.concat(vim.tbl_flatten { "autocmd", def }, " ")
+ vim.cmd(command)
end
+
+ vim.cmd "augroup END"
+ end
end
+lv_utils.define_augroups {
+
+ _user_autocommands = O.user_autocommands,
+ _general_settings = {
+ {
+ "TextYankPost",
+ "*",
+ "lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200})",
+ },
+ {
+ "BufWinEnter",
+ "*",
+ "setlocal formatoptions-=c formatoptions-=r formatoptions-=o",
+ },
+ {
+ "BufRead",
+ "*",
+ "setlocal formatoptions-=c formatoptions-=r formatoptions-=o",
+ },
+ {
+ "BufNewFile",
+ "*",
+ "setlocal formatoptions-=c formatoptions-=r formatoptions-=o",
+ },
+ { "VimLeavePre", "*", "set title set titleold=" },
+ },
+ -- _solidity = {
+ -- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'},
+ -- {'BufNewFile', '*.sol', 'setlocal filetype=solidity'}
+ -- },
+ -- _gemini = {
+ -- {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'},
+ -- {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'}
+ -- },
+ _markdown = {
+ { "FileType", "markdown", "setlocal wrap" },
+ { "FileType", "markdown", "setlocal spell" },
+ },
+ _buffer_bindings = {
+ { "FileType", "floaterm", "nnoremap <silent> <buffer> q :q<CR>" },
+ },
+ _auto_resize = {
+ -- will cause split windows to be resized evenly if main window is resized
+ {'VimResized ', '*', 'wincmd ='},
+ },
+ -- _mode_switching = {
+ -- -- will switch between absolute and relative line numbers depending on mode
+ -- {'InsertEnter', '*', 'if &relativenumber | let g:ms_relativenumberoff = 1 | setlocal number norelativenumber | endif'},
+ -- {'InsertLeave', '*', 'if exists("g:ms_relativenumberoff") | setlocal relativenumber | endif'},
+ -- {'InsertEnter', '*', 'if &cursorline | let g:ms_cursorlineoff = 1 | setlocal nocursorline | endif'},
+ -- {'InsertLeave', '*', 'if exists("g:ms_cursorlineoff") | setlocal cursorline | endif'},
+ -- },
+}
return lv_utils
+-- TODO find a new home for these autocommands
diff --git a/lua/lv-vimtex/init.lua b/lua/lv-vimtex/init.lua
index f4d1cc0c..11ed68bc 100644
--- a/lua/lv-vimtex/init.lua
+++ b/lua/lv-vimtex/init.lua
@@ -1,15 +1,15 @@
-vim.g.vimtex_compiler_method='latexmk'
-vim.g.vimtex_view_method='zathura'
-vim.g.vimtex_fold_enabled=0
+vim.g.vimtex_compiler_method = "latexmk"
+vim.g.vimtex_view_method = "zathura"
+vim.g.vimtex_fold_enabled = 0
-- Compile on initialization, cleanup on quit
vim.api.nvim_exec(
- [[
+ [[
augroup vimtex_event_1
au!
au User VimtexEventQuit call vimtex#compiler#clean(0)
au User VimtexEventInitPost call vimtex#compiler#compile()
augroup END
- ]], false
+ ]],
+ false
)
-
diff --git a/lua/lv-which-key/init.lua b/lua/lv-which-key/init.lua
index 88dd2ef0..084be113 100644
--- a/lua/lv-which-key/init.lua
+++ b/lua/lv-which-key/init.lua
@@ -1,329 +1,330 @@
+-- if not package.loaded['which-key'] then
+-- return
+-- end
+
require("which-key").setup {
- plugins = {
- marks = true, -- shows a list of your marks on ' and `
- registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
- -- the presets plugin, adds help for a bunch of default keybindings in Neovim
- -- No actual key bindings are created
- presets = {
- operators = false, -- adds help for operators like d, y, ...
- motions = false, -- adds help for motions
- text_objects = false, -- help for text objects triggered after entering an operator
- windows = true, -- default bindings on <c-w>
- nav = true, -- misc bindings to work with windows
- z = true, -- bindings for folds, spelling and others prefixed with z
- g = true -- bindings for prefixed with g
- }
- },
- icons = {
- breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
- separator = "➜", -- symbol used between a key and it's label
- group = "+" -- symbol prepended to a group
- },
- window = {
- border = "single", -- none, single, double, shadow
- position = "bottom", -- bottom, top
- margin = {1, 0, 1, 0}, -- extra window margin [top, right, bottom, left]
- padding = {2, 2, 2, 2} -- extra window padding [top, right, bottom, left]
+ plugins = {
+ marks = true, -- shows a list of your marks on ' and `
+ registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
+ -- the presets plugin, adds help for a bunch of default keybindings in Neovim
+ -- No actual key bindings are created
+ presets = {
+ operators = false, -- adds help for operators like d, y, ...
+ motions = false, -- adds help for motions
+ text_objects = false, -- help for text objects triggered after entering an operator
+ windows = true, -- default bindings on <c-w>
+ nav = true, -- misc bindings to work with windows
+ z = true, -- bindings for folds, spelling and others prefixed with z
+ g = true, -- bindings for prefixed with g
},
- layout = {
- height = {min = 4, max = 25}, -- min and max height of the columns
- width = {min = 20, max = 50}, -- min and max width of the columns
- spacing = 3 -- spacing between columns
- },
- hidden = {"<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ "}, -- hide mapping boilerplate
- show_help = true -- show help message on the command line when the popup is visible
+ },
+ icons = {
+ breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
+ separator = "➜", -- symbol used between a key and it's label
+ group = "+", -- symbol prepended to a group
+ },
+ window = {
+ border = "single", -- none, single, double, shadow
+ position = "bottom", -- bottom, top
+ margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
+ padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
+ },
+ layout = {
+ height = { min = 4, max = 25 }, -- min and max height of the columns
+ width = { min = 20, max = 50 }, -- min and max width of the columns
+ spacing = 3, -- spacing between columns
+ },
+ hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
+ show_help = true, -- show help message on the command line when the popup is visible
}
-- Set leader
-if O.leader_key == ' ' or O.leader_key == 'space' then
- vim.api.nvim_set_keymap('n', '<Space>', '<NOP>',
- {noremap = true, silent = true})
- vim.g.mapleader = ' '
+if O.leader_key == " " or O.leader_key == "space" then
+ vim.api.nvim_set_keymap("n", "<Space>", "<NOP>", { noremap = true, silent = true })
+ vim.g.mapleader = " "
else
- vim.api.nvim_set_keymap('n', O.leader_key, '<NOP>',
- {noremap = true, silent = true})
- vim.g.mapleader = O.leader_key
+ vim.api.nvim_set_keymap("n", O.leader_key, "<NOP>", { noremap = true, silent = true })
+ vim.g.mapleader = O.leader_key
end
local opts = {
- mode = "n", -- NORMAL mode
- prefix = "<leader>",
- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
- silent = true, -- use `silent` when creating keymaps
- noremap = true, -- use `noremap` when creating keymaps
- nowait = false -- use `nowait` when creating keymaps
+ mode = "n", -- NORMAL mode
+ prefix = "<leader>",
+ buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
+ silent = true, -- use `silent` when creating keymaps
+ noremap = true, -- use `noremap` when creating keymaps
+ nowait = false, -- use `nowait` when creating keymaps
}
-- no hl
-vim.api.nvim_set_keymap('n', '<Leader>h', ':let @/=""<CR>',
- {noremap = true, silent = true})
+vim.api.nvim_set_keymap("n", "<Leader>h", ':let @/=""<CR>', { noremap = true, silent = true })
-- explorer
-- TODO this introduces some bugs unfortunately
-vim.api.nvim_set_keymap('n', '<Leader>e',
- ":lua require'lv-nvimtree'.toggle_tree()<CR>",
- {noremap = true, silent = true})
+vim.api.nvim_set_keymap(
+ "n",
+ "<Leader>e",
+ ":lua require'lv-nvimtree'.toggle_tree()<CR>",
+ { noremap = true, silent = true }
+)
-- vim.api.nvim_set_keymap('n', '<Leader>e',
-- ":NvimTreeToggle<CR>",
-- {noremap = true, silent = true})
-- telescope or snap
if O.plugin.snap.active then
- vim.api.nvim_set_keymap('n', '<Leader>f', ':Snap find_files<CR>',
- {noremap = true, silent = true})
+ vim.api.nvim_set_keymap("n", "<Leader>f", ":Snap find_files<CR>", { noremap = true, silent = true })
else
- vim.api.nvim_set_keymap('n', '<Leader>f', ':Telescope find_files<CR>',
- {noremap = true, silent = true})
+ vim.api.nvim_set_keymap("n", "<Leader>f", ":Telescope find_files<CR>", { noremap = true, silent = true })
end
-- dashboard
-vim.api.nvim_set_keymap('n', '<Leader>;', ':Dashboard<CR>',
- {noremap = true, silent = true})
+vim.api.nvim_set_keymap("n", "<Leader>;", ":Dashboard<CR>", { noremap = true, silent = true })
-- Comments
-vim.api.nvim_set_keymap("n", "<leader>/", ":CommentToggle<CR>",
- {noremap = true, silent = true})
-vim.api.nvim_set_keymap("v", "<leader>/", ":CommentToggle<CR>",
- {noremap = true, silent = true})
+vim.api.nvim_set_keymap("n", "<leader>/", ":CommentToggle<CR>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("v", "<leader>/", ":CommentToggle<CR>", { noremap = true, silent = true })
-- close buffer
-vim.api.nvim_set_keymap("n", "<leader>c", ":BufferClose<CR>",
- {noremap = true, silent = true})
+vim.api.nvim_set_keymap("n", "<leader>c", ":BufferClose<CR>", { noremap = true, silent = true })
-- TODO create entire treesitter section
local mappings = {
- ["/"] = "Comment",
- ["c"] = "Close Buffer",
- ["e"] = "Explorer",
- ["f"] = "Find File",
- ["h"] = "No Highlight",
- b = {
- name = "Buffers",
- j = {"<cmd>BufferPick<cr>", "jump to buffer"},
- f = {O.plugin.snap.active and "<cmd>Snap buffers<cr>" or "<cmd>Telescope buffers<cr>", "Find buffer"},
- w = {"<cmd>BufferWipeout<cr>", "wipeout buffer"},
- e = {
- "<cmd>BufferCloseAllButCurrent<cr>", "close all but current buffer"
- },
- h = {"<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left"},
- l = {
- "<cmd>BufferCloseBuffersRight<cr>",
- "close all BufferLines to the right"
- },
- D = {
- "<cmd>BufferOrderByDirectory<cr>",
- "sort BufferLines automatically by directory"
- },
- L = {
- "<cmd>BufferOrderByLanguage<cr>",
- "sort BufferLines automatically by language"
- }
+ ["/"] = "Comment",
+ ["c"] = "Close Buffer",
+ ["e"] = "Explorer",
+ ["f"] = "Find File",
+ ["h"] = "No Highlight",
+ b = {
+ name = "Buffers",
+ j = { "<cmd>BufferPick<cr>", "jump to buffer" },
+ f = { O.plugin.snap.active and "<cmd>Snap buffers<cr>" or "<cmd>Telescope buffers<cr>", "Find buffer" },
+ w = { "<cmd>BufferWipeout<cr>", "wipeout buffer" },
+ e = {
+ "<cmd>BufferCloseAllButCurrent<cr>",
+ "close all but current buffer",
},
+ h = { "<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left" },
+ l = {
+ "<cmd>BufferCloseBuffersRight<cr>",
+ "close all BufferLines to the right",
+ },
+ D = {
+ "<cmd>BufferOrderByDirectory<cr>",
+ "sort BufferLines automatically by directory",
+ },
+ L = {
+ "<cmd>BufferOrderByLanguage<cr>",
+ "sort BufferLines automatically by language",
+ },
+ },
+ p = {
+ name = "Packer",
+ c = { "<cmd>PackerCompile<cr>", "Compile" },
+ i = { "<cmd>PackerInstall<cr>", "Install" },
+ r = { ":luafile %<cr>", "Reload" },
+ s = { "<cmd>PackerSync<cr>", "Sync" },
+ u = { "<cmd>PackerUpdate<cr>", "Update" },
+ },
+ -- diagnostics vanilla nvim
+ -- -- diagnostic
+ -- function lv_utils.get_all()
+ -- vim.lsp.diagnostic.get_all()
+ -- end
+ -- function lv_utils.get_next()
+ -- vim.lsp.diagnostic.get_next()
+ -- end
+ -- function lv_utils.get_prev()
+ -- vim.lsp.diagnostic.get_prev()
+ -- end
+ -- function lv_utils.goto_next()
+ -- vim.lsp.diagnostic.goto_next()
+ -- end
+ -- function lv_utils.goto_prev()
+ -- vim.lsp.diagnostic.goto_prev()
+ -- end
+ -- function lv_utils.show_line_diagnostics()
+ -- vim.lsp.diagnostic.show_line_diagnostics()
+ -- end
- -- diagnostics vanilla nvim
- -- -- diagnostic
- -- function lv_utils.get_all()
- -- vim.lsp.diagnostic.get_all()
- -- end
- -- function lv_utils.get_next()
- -- vim.lsp.diagnostic.get_next()
- -- end
- -- function lv_utils.get_prev()
- -- vim.lsp.diagnostic.get_prev()
- -- end
- -- function lv_utils.goto_next()
- -- vim.lsp.diagnostic.goto_next()
- -- end
- -- function lv_utils.goto_prev()
- -- vim.lsp.diagnostic.goto_prev()
- -- end
- -- function lv_utils.show_line_diagnostics()
- -- vim.lsp.diagnostic.show_line_diagnostics()
- -- end
-
- -- " Available Debug Adapters:
- -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/
- -- " Adapter configuration and installation instructions:
- -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation
- -- " Debug Adapter protocol:
- -- " https://microsoft.github.io/debug-adapter-protocol/
- -- " Debugging
- -- command! DebugToggleBreakpoint lua require'dap'.toggle_breakpoint()
- -- command! DebugStart lua require'dap'.continue()
- -- command! DebugContinue lua require'dap'.continue()
- -- command! DebugStepOver lua require'dap'.step_over()
- -- command! DebugStepOut lua require'dap'.step_out()
- -- command! DebugStepInto lua require'dap'.step_into()
- -- command! DebugToggleRepl lua require'dap'.repl.toggle()
- -- command! DebugGetSession lua require'dap'.session()
- -- D = {
- -- name = "Debug",
- -- b = {"<cmd>DebugToggleBreakpoint<cr>", "Toggle Breakpoint"},
- -- c = {"<cmd>DebugContinue<cr>", "Continue"},
- -- i = {"<cmd>DebugStepInto<cr>", "Step Into"},
- -- o = {"<cmd>DebugStepOver<cr>", "Step Over"},
- -- r = {"<cmd>DebugToggleRepl<cr>", "Toggle Repl"},
- -- s = {"<cmd>DebugStart<cr>", "Start"}
- -- },
- g = {
- name = "Git",
- j = {"<cmd>lua require 'gitsigns'.next_hunk()<cr>", "Next Hunk"},
- k = {"<cmd>lua require 'gitsigns'.prev_hunk()<cr>", "Prev Hunk"},
- l = {"<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame"},
- p = {"<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk"},
- r = {"<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk"},
- R = {"<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer"},
- s = {"<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk"},
- u = {
- "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>",
- "Undo Stage Hunk"
- },
- o = {"<cmd>Telescope git_status<cr>", "Open changed file"},
- b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"},
- c = {"<cmd>Telescope git_commits<cr>", "Checkout commit"},
- C = {
- "<cmd>Telescope git_bcommits<cr>",
- "Checkout commit(for current file)"
- }
+ -- " Available Debug Adapters:
+ -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/
+ -- " Adapter configuration and installation instructions:
+ -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation
+ -- " Debug Adapter protocol:
+ -- " https://microsoft.github.io/debug-adapter-protocol/
+ -- " Debugging
+ d = {
+ name = "Debug",
+ t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" },
+ b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" },
+ c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
+ C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" },
+ d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" },
+ g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" },
+ i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" },
+ o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" },
+ u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" },
+ p = { "<cmd>lua require'dap'.pause.toggle()<cr>", "Pause" },
+ r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" },
+ s = { "<cmd>lua require'dap'.continue()<cr>", "Start" },
+ q = { "<cmd>lua require'dap'.stop()<cr>", "Quit" },
+ },
+ g = {
+ name = "Git",
+ j = { "<cmd>lua require 'gitsigns'.next_hunk()<cr>", "Next Hunk" },
+ k = { "<cmd>lua require 'gitsigns'.prev_hunk()<cr>", "Prev Hunk" },
+ l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" },
+ p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" },
+ r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" },
+ R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" },
+ s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" },
+ u = {
+ "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>",
+ "Undo Stage Hunk",
},
- l = {
- name = "LSP",
- a = {"<cmd>Lspsaga code_action<cr>", "Code Action"},
- A = {"<cmd>Lspsaga range_code_action<cr>", "Selected Action"},
- d = {
- "<cmd>Telescope lsp_document_diagnostics<cr>",
- "Document Diagnostics"
- },
- D = {
- "<cmd>Telescope lsp_workspace_diagnostics<cr>",
- "Workspace Diagnostics"
- },
- f = {"<cmd>lua vim.lsp.buf.formatting()<cr>", "Format"},
- h = {"<cmd>Lspsaga hover_doc<cr>", "Hover Doc"},
- i = {"<cmd>LspInfo<cr>", "Info"},
- j = {"<cmd>Lspsaga diagnostic_jump_prev<cr>", "Prev Diagnostic"},
- k = {"<cmd>Lspsaga diagnostic_jump_next<cr>", "Next Diagnostic"},
- l = {"<cmd>Lspsaga lsp_finder<cr>", "LSP Finder"},
- L = {"<cmd>Lspsaga show_line_diagnostics<cr>", "Line Diagnostics"},
- p = {"<cmd>Lspsaga preview_definition<cr>", "Preview Definition"},
- q = {"<cmd>Telescope quickfix<cr>", "Quickfix"},
- r = {"<cmd>Lspsaga rename<cr>", "Rename"},
- t = {"<cmd>LspTypeDefinition<cr>", "Type Definition"},
- x = {"<cmd>cclose<cr>", "Close Quickfix"},
- s = {O.plugin.symbol_outline.active and "<cmd>SymbolsOutline<cr>" or
- "<cmd> Telescope lsp_document_symbols<cr>", "Document Symbols"},
- S = {
- "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
- "Workspace Symbols"
- }
+ o = { "<cmd>Telescope git_status<cr>", "Open changed file" },
+ b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
+ c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" },
+ C = {
+ "<cmd>Telescope git_bcommits<cr>",
+ "Checkout commit(for current file)",
+ },
+ },
+ l = {
+ name = "LSP",
+ a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" },
+ d = {
+ "<cmd>Telescope lsp_document_diagnostics<cr>",
+ "Document Diagnostics",
+ },
+ w = {
+ "<cmd>Telescope lsp_workspace_diagnostics<cr>",
+ "Workspace Diagnostics",
},
+ f = { "<cmd>lua vim.lsp.buf.formatting()<cr>", "Format" },
+ i = { "<cmd>LspInfo<cr>", "Info" },
+ j = { "<cmd>lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})<cr>", "Next Diagnostic" },
+ k = { "<cmd>lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})<cr>", "Prev Diagnostic" },
+ q = { "<cmd>Telescope quickfix<cr>", "Quickfix" },
+ r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
s = {
- name = "Search",
- b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"},
- c = {"<cmd>Telescope colorscheme<cr>", "Colorscheme"},
- -- d = {
- -- "<cmd>Telescope lsp_document_diagnostics<cr>",
- -- "Document Diagnostics"
- -- },
- -- D = {
- -- "<cmd>Telescope lsp_workspace_diagnostics<cr>",
- -- "Workspace Diagnostics"
- -- },
- f = {O.plugin.snap.active and "<cmd>Snap find_files<cr>" or "<cmd>Telescope find_files<cr>", "Find File"},
- h = {"<cmd>Telescope help_tags<cr>", "Find Help"},
- -- m = {"<cmd>Telescope marks<cr>", "Marks"},
- M = {"<cmd>Telescope man_pages<cr>", "Man Pages"},
- r = {O.plugin.snap.active and "<cmd>Snap oldfiles<cr>" or "<cmd>Telescope oldfiles<cr>", "Open Recent File"},
- R = {"<cmd>Telescope registers<cr>", "Registers"},
- t = {O.plugin.snap.active and "<cmd>Snap live_grep<cr>" or "<cmd>Telescope live_grep<cr>", "Text"}
+ O.plugin.symbol_outline.active and "<cmd>SymbolsOutline<cr>" or "<cmd> Telescope lsp_document_symbols<cr>",
+ "Document Symbols",
},
S = {
- name = "Session",
- s = {"<cmd>SessionSave<cr>", "Save Session"},
- l = {"<cmd>SessionLoad<cr>", "Load Session"}
+ "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
+ "Workspace Symbols",
},
- T = {
- name = "Treesitter",
- i = {":TSConfigInfo<cr>", "Info"}
- }
+ },
+ s = {
+ name = "Search",
+ b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
+ c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" },
+ -- d = {
+ -- "<cmd>Telescope lsp_document_diagnostics<cr>",
+ -- "Document Diagnostics"
+ -- },
+ -- D = {
+ -- "<cmd>Telescope lsp_workspace_diagnostics<cr>",
+ -- "Workspace Diagnostics"
+ -- },
+ f = { O.plugin.snap.active and "<cmd>Snap find_files<cr>" or "<cmd>Telescope find_files<cr>", "Find File" },
+ h = { "<cmd>Telescope help_tags<cr>", "Find Help" },
+ -- m = {"<cmd>Telescope marks<cr>", "Marks"},
+ M = { "<cmd>Telescope man_pages<cr>", "Man Pages" },
+ r = { O.plugin.snap.active and "<cmd>Snap oldfiles<cr>" or "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
+ R = { "<cmd>Telescope registers<cr>", "Registers" },
+ t = { O.plugin.snap.active and "<cmd>Snap live_grep<cr>" or "<cmd>Telescope live_grep<cr>", "Text" },
+ },
+ S = {
+ name = "Session",
+ s = { "<cmd>SessionSave<cr>", "Save Session" },
+ l = { "<cmd>SessionLoad<cr>", "Load Session" },
+ },
+ T = {
+ name = "Treesitter",
+ i = { ":TSConfigInfo<cr>", "Info" },
+ },
}
-
if O.plugin.spectre.active then
- mappings['r'] = {
- name = "Replace",
- f = {
- "<cmd>lua require('spectre').open_file_search()<cr>", "Current File"
- },
- p = {"<cmd>lua require('spectre').open()<cr>", "Project"}
- }
+ mappings["r"] = {
+ name = "Replace",
+ f = {
+ "<cmd>lua require('spectre').open_file_search()<cr>",
+ "Current File",
+ },
+ p = { "<cmd>lua require('spectre').open()<cr>", "Project" },
+ }
end
-if O.plugin.trouble.active then
- mappings['d'] = {
- name = "Diagnostics",
- t = {"<cmd>TroubleToggle<cr>", "trouble"},
- w = {"<cmd>TroubleToggle lsp_workspace_diagnostics<cr>", "workspace"},
- d = {"<cmd>TroubleToggle lsp_document_diagnostics<cr>", "document"},
- q = {"<cmd>TroubleToggle quickfix<cr>", "quickfix"},
- l = {"<cmd>TroubleToggle loclist<cr>", "loclist"},
- r = {"<cmd>TroubleToggle lsp_references<cr>", "references"}
- }
-end
+-- if O.plugin.trouble.active then
+-- mappings["d"] = {
+-- name = "Diagnostics",
+-- t = { "<cmd>TroubleToggle<cr>", "trouble" },
+-- w = { "<cmd>TroubleToggle lsp_workspace_diagnostics<cr>", "workspace" },
+-- d = { "<cmd>TroubleToggle lsp_document_diagnostics<cr>", "document" },
+-- q = { "<cmd>TroubleToggle quickfix<cr>", "quickfix" },
+-- l = { "<cmd>TroubleToggle loclist<cr>", "loclist" },
+-- r = { "<cmd>TroubleToggle lsp_references<cr>", "references" },
+-- }
+-- end
-if O.plugin.gitlinker.active then mappings["gy"] = "Gitlink" end
+if O.plugin.gitlinker.active then
+ mappings["gy"] = "Gitlink"
+end
if O.plugin.ts_playground.active then
- vim.api.nvim_set_keymap("n", "<leader>Th",
- ":TSHighlightCapturesUnderCursor<CR>",
- {noremap = true, silent = true})
- mappings[""] = "Highlight Capture"
+ vim.api.nvim_set_keymap("n", "<leader>Th", ":TSHighlightCapturesUnderCursor<CR>", { noremap = true, silent = true })
+ mappings[""] = "Highlight Capture"
end
if O.plugin.zen.active then
- vim.api.nvim_set_keymap("n", "<leader>z", ":ZenMode<CR>",
- {noremap = true, silent = true})
- mappings["z"] = "Zen"
+ vim.api.nvim_set_keymap("n", "<leader>z", ":ZenMode<CR>", { noremap = true, silent = true })
+ mappings["z"] = "Zen"
end
if O.plugin.lazygit.active then
- vim.api.nvim_set_keymap("n", "<leader>gg", ":LazyGit<CR>",
- {noremap = true, silent = true})
- mappings["gg"] = "LazyGit"
+ vim.api.nvim_set_keymap("n", "<leader>gg", ":LazyGit<CR>", { noremap = true, silent = true })
+ mappings["gg"] = "LazyGit"
end
if O.plugin.telescope_project.active then
- -- open projects
- vim.api.nvim_set_keymap('n', '<leader>p',
- ":lua require'telescope'.extensions.project.project{}<CR>",
- {noremap = true, silent = true})
- mappings["p"] = "Projects"
+ -- open projects
+ vim.api.nvim_set_keymap(
+ "n",
+ "<leader>p",
+ ":lua require'telescope'.extensions.project.project{}<CR>",
+ { noremap = true, silent = true }
+ )
+ mappings["P"] = "Projects"
end
-- [";"] = "Dashboard",
if O.lang.latex.active then
- mappings["L"] = {
- name = "+Latex",
- c = {"<cmd>VimtexCompile<cr>", "Toggle Compilation Mode"},
- f = {"<cmd>call vimtex#fzf#run()<cr>", "Fzf Find"},
- i = {"<cmd>VimtexInfo<cr>", "Project Information"},
- s = {"<cmd>VimtexStop<cr>", "Stop Project Compilation"},
- t = {"<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content"},
- v = {"<cmd>VimtexView<cr>", "View PDF"}
- }
+ mappings["L"] = {
+ name = "+Latex",
+ c = { "<cmd>VimtexCompile<cr>", "Toggle Compilation Mode" },
+ f = { "<cmd>call vimtex#fzf#run()<cr>", "Fzf Find" },
+ i = { "<cmd>VimtexInfo<cr>", "Project Information" },
+ s = { "<cmd>VimtexStop<cr>", "Stop Project Compilation" },
+ t = { "<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content" },
+ v = { "<cmd>VimtexView<cr>", "View PDF" },
+ }
end
if O.lushmode then
- mappings["L"] = {
- name = "+Lush",
- l = {":Lushify<cr>", "Lushify"},
- x = {":lua require('lush').export_to_buffer(require('lush_theme.cool_name'))", "Lush Export"},
- t = {":LushRunTutorial<cr>", "Lush Tutorial"},
- q = {":LushRunQuickstart<cr>", "Lush Quickstart"}
- }
+ mappings["L"] = {
+ name = "+Lush",
+ l = { ":Lushify<cr>", "Lushify" },
+ x = { ":lua require('lush').export_to_buffer(require('lush_theme.cool_name'))", "Lush Export" },
+ t = { ":LushRunTutorial<cr>", "Lush Tutorial" },
+ q = { ":LushRunQuickstart<cr>", "Lush Quickstart" },
+ }
end
-local wk = require("which-key")
+local wk = require "which-key"
wk.register(mappings, opts)
diff --git a/lua/lv-zen/init.lua b/lua/lv-zen/init.lua
index 2a87d6f4..0d6bfca0 100644
--- a/lua/lv-zen/init.lua
+++ b/lua/lv-zen/init.lua
@@ -1,26 +1,26 @@
local M = {}
M.config = function()
- require("zen-mode").setup {
- window = {
- backdrop = 1,
- height = .85, -- height of the Zen window
- options = {
- signcolumn = "no", -- disable signcolumn
- number = false, -- disable number column
- relativenumber = false -- disable relative numbers
- -- cursorline = false, -- disable cursorline
- -- cursorcolumn = false, -- disable cursor column
- -- foldcolumn = "0", -- disable fold column
- -- list = false, -- disable whitespace characters
- }
- },
- plugins = {
- gitsigns = {enabled = false} -- disables git signs
- -- your configuration comes here
- -- or leave it empty to use the default settings
- -- refer to the configuration section below
- }
- }
+ require("zen-mode").setup {
+ window = {
+ backdrop = 1,
+ height = 0.85, -- height of the Zen window
+ options = {
+ signcolumn = "no", -- disable signcolumn
+ number = false, -- disable number column
+ relativenumber = false, -- disable relative numbers
+ -- cursorline = false, -- disable cursorline
+ -- cursorcolumn = false, -- disable cursor column
+ -- foldcolumn = "0", -- disable fold column
+ -- list = false, -- disable whitespace characters
+ },
+ },
+ plugins = {
+ gitsigns = { enabled = false }, -- disables git signs
+ -- your configuration comes here
+ -- or leave it empty to use the default settings
+ -- refer to the configuration section below
+ },
+ }
end
return M
diff --git a/lua/plugins.lua b/lua/plugins.lua
index bdda5847..2b215291 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -1,426 +1,485 @@
local execute = vim.api.nvim_command
local fn = vim.fn
-local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
+local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
- execute("!git clone https://github.com/wbthomason/packer.nvim " ..
- install_path)
- execute "packadd packer.nvim"
+ execute("!git clone https://github.com/wbthomason/packer.nvim " .. install_path)
+ execute "packadd packer.nvim"
end
local packer_ok, packer = pcall(require, "packer")
-if not packer_ok then return end
+if not packer_ok then
+ return
+end
packer.init {
- -- compile_path = vim.fn.stdpath('data')..'/site/pack/loader/start/packer.nvim/plugin/packer_compiled.vim',
- compile_path = require("packer.util").join_paths(vim.fn.stdpath('config'),
- 'plugin',
- 'packer_compiled.vim'),
- git = {clone_timeout = 300},
- display = {
- open_fn = function()
- return require("packer.util").float {border = "single"}
- end
- }
+ -- compile_path = vim.fn.stdpath('data')..'/site/pack/loader/start/packer.nvim/plugin/packer_compiled.vim',
+ compile_path = require("packer.util").join_paths(vim.fn.stdpath "config", "plugin", "packer_compiled.vim"),
+ git = { clone_timeout = 300 },
+ display = {
+ open_fn = function()
+ return require("packer.util").float { border = "single" }
+ end,
+ },
}
-vim.cmd "autocmd BufWritePost plugins.lua PackerCompile" -- Auto compile when there are changes in plugins.lua
+vim.cmd "autocmd BufWritePost plugins.lua PackerCompile"
return require("packer").startup(function(use)
- -- Packer can manage itself as an optional plugin
- use "wbthomason/packer.nvim"
-
- -- TODO refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function)
- use {"neovim/nvim-lspconfig"}
- use {"glepnir/lspsaga.nvim"}
- use {"kabouzeid/nvim-lspinstall"}
- -- Telescope
- use {"nvim-lua/popup.nvim"}
- use {"nvim-lua/plenary.nvim"}
- use {"tjdevries/astronauta.nvim"}
- use {
- "nvim-telescope/telescope.nvim",
- config = [[require('lv-telescope')]],
- cmd = "Telescope"
- }
- -- Snap TODO disable for now, need to only install fzy when user specifies they want to use snap
- -- use {
- -- "camspiers/snap",
- -- rocks = "fzy",
- -- config = function()
- -- require("lv-snap").config()
- -- end,
- -- disable = not O.plugin.snap.active
- -- }
- -- Autocomplete
- use {
- "hrsh7th/nvim-compe",
- config = function()
- require("lv-compe").config()
- end
- }
-
- use {"hrsh7th/vim-vsnip", event = "InsertEnter"}
- use {"rafamadriz/friendly-snippets", event = "InsertEnter"}
-
- -- Treesitter
- use {"nvim-treesitter/nvim-treesitter", run = ":TSUpdate"}
-
- use {
- "kyazdani42/nvim-tree.lua",
- -- cmd = "NvimTreeToggle",
- config = function()
- require("lv-nvimtree").config()
- end
- }
-
- use {
- "lewis6991/gitsigns.nvim",
-
- config = function()
- require("lv-gitsigns").config()
- end,
- event = "BufRead"
- }
-
- -- whichkey
- use {"folke/which-key.nvim"}
-
- -- Autopairs
- use {
- "windwp/nvim-autopairs",
- config = function()
- require 'lv-autopairs'
- end
- }
-
- -- Comments
- use {
- "terrortylor/nvim-comment",
- cmd = "CommentToggle",
- config = function()
- require('nvim_comment').setup()
- end
- }
-
- -- Color
- use {"christianchiarulli/nvcode-color-schemes.vim", opt = true}
-
- -- Icons
- use {"kyazdani42/nvim-web-devicons"}
-
- -- Status Line and Bufferline
- use {"glepnir/galaxyline.nvim"}
-
- use {
- "akinsho/nvim-bufferline.lua",
- config = function()
- require("lv-bufferline").config()
- end,
- event = "BufRead"
-
- }
-
- -- Extras, these do not load by default
-
- -- Better motions
- use {
- 'phaazon/hop.nvim',
- event = 'BufRead',
- config = function()
- require('lv-hop').config()
- end,
- disable = not O.plugin.hop.active,
- opt = true
- }
- -- Enhanced increment/decrement
- use {
- 'monaqa/dial.nvim',
- event = 'BufRead',
- config = function()
- require('lv-dial').config()
- end,
- disable = not O.plugin.dial.active,
- opt = true
- }
- -- Dashboard
- use {
- "ChristianChiarulli/dashboard-nvim",
- event = 'BufWinEnter',
- cmd = {"Dashboard", "DashboardNewFile", "DashboardJumpMarks"},
- config = function()
- require('lv-dashboard').config()
- end,
- disable = not O.plugin.dashboard.active,
- opt = true
- }
- -- Zen Mode
- use {
- "folke/zen-mode.nvim",
- cmd = "ZenMode",
- -- event = "BufRead",
- config = function()
- require('lv-zen').config()
- end,
- disable = not O.plugin.zen.active
- }
- -- Ranger
- use {
- "kevinhwang91/rnvimr",
- cmd = "Rnvimr",
- config = function()
- require('lv-rnvimr').config()
- end,
- disable = not O.plugin.ranger.active
- }
-
- -- matchup
- use {
- 'andymass/vim-matchup',
- event = "CursorMoved",
- config = function()
- require('lv-matchup').config()
- end,
- disable = not O.plugin.matchup.active
- }
-
- use {
- "norcalli/nvim-colorizer.lua",
- event = "BufRead",
- config = function()
- require("colorizer").setup()
- vim.cmd("ColorizerReloadAllBuffers")
- end,
- disable = not O.plugin.colorizer.active
- }
-
- use {
- "nacro90/numb.nvim",
- event = "BufRead",
- config = function()
- require('numb').setup {
- show_numbers = true, -- Enable 'number' for the window while peeking
- show_cursorline = true -- Enable 'cursorline' for the window while peeking
- }
- end,
- disable = not O.plugin.numb.active
- }
-
- -- Treesitter playground
- use {
- 'nvim-treesitter/playground',
- event = "BufRead",
- disable = not O.plugin.ts_playground.active
- }
-
- use {
- "lukas-reineke/indent-blankline.nvim",
- event = "BufRead",
- setup = function()
-
- vim.g.indentLine_enabled = 1
- vim.g.indent_blankline_char = "▏"
-
- vim.g.indent_blankline_filetype_exclude = {
- "help", "terminal", "dashboard"
- }
- vim.g.indent_blankline_buftype_exclude = {"terminal"}
-
- vim.g.indent_blankline_show_trailing_blankline_indent = false
- vim.g.indent_blankline_show_first_indent_level = true
- end,
- disable = not O.plugin.indent_line.active
- }
-
- -- comments in context
- use {
- 'JoosepAlviste/nvim-ts-context-commentstring',
- event = "BufRead",
- disable = not O.plugin.ts_context_commentstring.active
- }
-
- -- Symbol Outline
- use {
- 'simrat39/symbols-outline.nvim',
- cmd = 'SymbolsOutline',
- disable = not O.plugin.symbol_outline.active
- }
- -- diagnostics
- use {
- "folke/trouble.nvim",
- cmd = 'TroubleToggle',
- disable = not O.plugin.trouble.active
- }
- -- Debugging
- use {
- "mfussenegger/nvim-dap",
- event = "BufRead",
- disable = not O.plugin.debug.active
- }
- -- Better quickfix
- use {
- "kevinhwang91/nvim-bqf",
- event = "BufRead",
- disable = not O.plugin.bqf.active
- }
- -- Floating terminal
- use {
- 'numToStr/FTerm.nvim',
- event = "BufRead",
- config = function()
- require'FTerm'.setup({
- dimensions = {height = 0.8, width = 0.8, x = 0.5, y = 0.5},
- border = 'single' -- or 'double'
- })
- end,
- disable = not O.plugin.floatterm.active
- }
- -- Search & Replace
- use {
- 'windwp/nvim-spectre',
- event = "BufRead",
- config = function()
- require('spectre').setup()
- end,
- disable = not O.plugin.spectre.active
- }
- -- lsp root with this nvim-tree will follow you
- use {
- "ahmedkhalf/lsp-rooter.nvim",
- event = "BufRead",
- config = function()
- require("lsp-rooter").setup()
- end,
- disable = not O.plugin.lsp_rooter.active
- }
- -- Markdown preview
- use {
- 'iamcco/markdown-preview.nvim',
- run = 'cd app && npm install',
- ft = 'markdown',
- disable = not O.plugin.markdown_preview.active
- }
- -- Interactive scratchpad
- use {
- 'metakirby5/codi.vim',
- cmd = 'Codi',
- disable = not O.plugin.codi.active
- }
- -- Use fzy for telescope
- use {
- "nvim-telescope/telescope-fzy-native.nvim",
- event = "BufRead",
- disable = not O.plugin.telescope_fzy.active
- }
- -- Use project for telescope
- use {
- "nvim-telescope/telescope-project.nvim",
- event = "BufRead",
- after = "telescope.nvim",
- disable = not O.plugin.telescope_project.active
- }
- -- Sane gx for netrw_gx bug
- use {
- "felipec/vim-sanegx",
- event = "BufRead",
- disable = not O.plugin.sanegx.active
- }
- -- Sane gx for netrw_gx bug
- use {
- "folke/todo-comments.nvim",
- event = "BufRead",
- disable = not O.plugin.todo_comments.active
- }
- -- LSP Colors
- use {
- "folke/lsp-colors.nvim",
- event = "BufRead",
- disable = not O.plugin.lsp_colors.active
- }
- -- Git Blame
- use {
- "f-person/git-blame.nvim",
- event = "BufRead",
- disable = not O.plugin.git_blame.active
- }
- use {
- 'ruifm/gitlinker.nvim',
- event = "BufRead",
- config = function()
- require"gitlinker".setup({
- opts = {
- -- remote = 'github', -- force the use of a specific remote
- -- adds current line nr in the url for normal mode
- add_current_line_on_normal_mode = true,
- -- callback for what to do with the url
- action_callback = require"gitlinker.actions".open_in_browser,
- -- print the url after performing the action
- print_url = false,
- -- mapping to call url generation
- mappings = "<leader>gy"
- }
- })
-
- end,
- disable = not O.plugin.gitlinker.active,
- requires = 'nvim-lua/plenary.nvim'
-
- }
- -- Lazygit
- use {
- "kdheepak/lazygit.nvim",
- cmd = "LazyGit",
- disable = not O.plugin.lazygit.active
- }
- -- Octo
- use {
- "pwntester/octo.nvim",
- event = "BufRead",
- disable = not O.plugin.octo.active
- }
- -- Diffview
- use {
- "sindrets/diffview.nvim",
- event = "BufRead",
- disable = not O.plugin.diffview.active
- }
- -- Easily Create Gists
- use {
- "mattn/vim-gist",
- event = "BufRead",
- disable = not O.plugin.gist.active,
- requires = 'mattn/webapi-vim'
- }
- -- Lush Create Color Schemes
- use {
- "rktjmp/lush.nvim",
- -- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"},
- disable = not O.plugin.lush.active
- }
- -- HTML preview
- use {
- 'turbio/bracey.vim',
- event = "BufRead",
- run = 'npm install --prefix server',
- disable = not O.plugin.bracey.active
- }
- -- Debugger management
- use {
- 'Pocco81/DAPInstall.nvim',
- event = "BufRead",
- disable = not O.plugin.dap_install.active
- }
-
- -- LANGUAGE SPECIFIC GOES HERE
-
- -- Latex TODO what filetypes should this be active for?
- use {"lervag/vimtex", ft = "latex"}
-
- -- Rust tools
- -- TODO: use lazy loading maybe?
- use {"simrat39/rust-tools.nvim", ft = "rust"}
-
- -- Elixir
- use {"elixir-editors/vim-elixir", ft = {"elixir", "eelixir", "euphoria3"}}
+ -- Packer can manage itself as an optional plugin
+ use "wbthomason/packer.nvim"
+
+ -- TODO refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function)
+ use { "neovim/nvim-lspconfig" }
+ use { "kabouzeid/nvim-lspinstall" }
+ -- Telescope
+ use { "nvim-lua/popup.nvim" }
+ use { "nvim-lua/plenary.nvim" }
+ use { "tjdevries/astronauta.nvim" }
+ use {
+ "nvim-telescope/telescope.nvim",
+ config = [[require('lv-telescope')]],
+ cmd = "Telescope",
+ }
+ -- Snap TODO disable for now, need to only install fzy when user specifies they want to use snap
+ -- use {
+ -- "camspiers/snap",
+ -- rocks = "fzy",
+ -- config = function()
+ -- require("lv-snap").config()
+ -- end,
+ -- disable = not O.plugin.snap.active
+ -- }
+ -- Autocomplete
+ use {
+ "hrsh7th/nvim-compe",
+ event = "InsertEnter",
+ config = function()
+ require("lv-compe").config()
+ end,
+ }
+
+ use { "hrsh7th/vim-vsnip", event = "InsertEnter" }
+ use { "rafamadriz/friendly-snippets", event = "InsertEnter" }
+
+ -- Treesitter
+ use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }
+
+ -- Neoformat
+ use { "sbdchd/neoformat", event = "BufEnter" }
+
+ use {
+ "kyazdani42/nvim-tree.lua",
+ -- cmd = "NvimTreeToggle",
+ config = function()
+ require("lv-nvimtree").config()
+ end,
+ }
+
+ use {
+ "lewis6991/gitsigns.nvim",
+
+ config = function()
+ require("lv-gitsigns").config()
+ end,
+ event = "BufRead",
+ }
+
+ -- whichkey
+ use { "folke/which-key.nvim" }
+
+ -- Autopairs
+ use {
+ "windwp/nvim-autopairs",
+ event = "InsertEnter",
+ after = { "telescope.nvim", "nvim-compe" },
+ config = function()
+ require "lv-autopairs"
+ end,
+ }
+
+ -- Comments
+ use {
+ "terrortylor/nvim-comment",
+ cmd = "CommentToggle",
+ config = function()
+ require("nvim_comment").setup()
+ end,
+ }
+
+ -- Color
+ use { "christianchiarulli/nvcode-color-schemes.vim", opt = true }
+
+ -- Icons
+ use { "kyazdani42/nvim-web-devicons" }
+
+ -- Status Line and Bufferline
+ use { "glepnir/galaxyline.nvim" }
+
+ use {
+ "romgrk/barbar.nvim",
+ config = function()
+ vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true })
+ vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true })
+ vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true })
+ end,
+ -- event = "BufRead",
+ }
+
+ -- use {
+ -- "akinsho/nvim-bufferline.lua",
+ -- config = function() require("lv-bufferline").config() end,
+ -- event = "BufRead"
+ -- }
+
+ -- Extras, these do not load by default
+
+ -- Better motions
+ use {
+ "phaazon/hop.nvim",
+ event = "BufRead",
+ config = function()
+ require("lv-hop").config()
+ end,
+ disable = not O.plugin.hop.active,
+ opt = true,
+ }
+ -- Enhanced increment/decrement
+ use {
+ "monaqa/dial.nvim",
+ event = "BufRead",
+ config = function()
+ require("lv-dial").config()
+ end,
+ disable = not O.plugin.dial.active,
+ opt = true,
+ }
+ -- Dashboard
+ use {
+ "ChristianChiarulli/dashboard-nvim",
+ event = "BufWinEnter",
+ cmd = { "Dashboard", "DashboardNewFile", "DashboardJumpMarks" },
+ config = function()
+ require("lv-dashboard").config()
+ end,
+ disable = not O.plugin.dashboard.active,
+ opt = true,
+ }
+ -- Zen Mode
+ use {
+ "folke/zen-mode.nvim",
+ cmd = "ZenMode",
+ -- event = "BufRead",
+ config = function()
+ require("lv-zen").config()
+ end,
+ disable = not O.plugin.zen.active,
+ }
+ -- Ranger
+ use {
+ "kevinhwang91/rnvimr",
+ cmd = "Rnvimr",
+ config = function()
+ require("lv-rnvimr").config()
+ end,
+ disable = not O.plugin.ranger.active,
+ }
+
+ -- matchup
+ use {
+ "andymass/vim-matchup",
+ event = "CursorMoved",
+ config = function()
+ require("lv-matchup").config()
+ end,
+ disable = not O.plugin.matchup.active,
+ }
+
+ use {
+ "norcalli/nvim-colorizer.lua",
+ event = "BufRead",
+ config = function()
+ require("colorizer").setup()
+ vim.cmd "ColorizerReloadAllBuffers"
+ end,
+ disable = not O.plugin.colorizer.active,
+ }
+
+ use {
+ "nacro90/numb.nvim",
+ event = "BufRead",
+ config = function()
+ require("numb").setup {
+ show_numbers = true, -- Enable 'number' for the window while peeking
+ show_cursorline = true, -- Enable 'cursorline' for the window while peeking
+ }
+ end,
+ disable = not O.plugin.numb.active,
+ }
+
+ -- Treesitter playground
+ use {
+ "nvim-treesitter/playground",
+ event = "BufRead",
+ disable = not O.plugin.ts_playground.active,
+ }
+
+ use {
+ "lukas-reineke/indent-blankline.nvim",
+ event = "BufRead",
+ setup = function()
+ vim.g.indentLine_enabled = 1
+ vim.g.indent_blankline_char = "▏"
+
+ vim.g.indent_blankline_filetype_exclude = {
+ "help",
+ "terminal",
+ "dashboard",
+ }
+ vim.g.indent_blankline_buftype_exclude = { "terminal" }
+
+ vim.g.indent_blankline_show_trailing_blankline_indent = false
+ vim.g.indent_blankline_show_first_indent_level = true
+ end,
+ disable = not O.plugin.indent_line.active,
+ }
+
+ -- comments in context
+ use {
+ "JoosepAlviste/nvim-ts-context-commentstring",
+ event = "BufRead",
+ disable = not O.plugin.ts_context_commentstring.active,
+ }
+
+ -- Symbol Outline
+ use {
+ "simrat39/symbols-outline.nvim",
+ cmd = "SymbolsOutline",
+ disable = not O.plugin.symbol_outline.active,
+ }
+ -- diagnostics
+ use {
+ "folke/trouble.nvim",
+ cmd = "TroubleToggle",
+ disable = not O.plugin.trouble.active,
+ }
+ -- Debugging
+ use {
+ "mfussenegger/nvim-dap",
+ config = function()
+ require "dap"
+ vim.fn.sign_define("DapBreakpoint", {
+ text = "",
+ texthl = "LspDiagnosticsSignError",
+ linehl = "",
+ numhl = "",
+ })
+ require("dap").defaults.fallback.terminal_win_cmd = "50vsplit new"
+ end,
+ disable = not O.plugin.debug.active,
+ }
+ -- Better quickfix
+ use {
+ "kevinhwang91/nvim-bqf",
+ event = "BufRead",
+ disable = not O.plugin.bqf.active,
+ }
+ -- Floating terminal
+ use {
+ "numToStr/FTerm.nvim",
+ event = "BufRead",
+ config = function()
+ require("FTerm").setup {
+ dimensions = { height = 0.8, width = 0.8, x = 0.5, y = 0.5 },
+ border = "single", -- or 'double'
+ }
+ end,
+ disable = not O.plugin.floatterm.active,
+ }
+ -- Search & Replace
+ use {
+ "windwp/nvim-spectre",
+ event = "BufRead",
+ config = function()
+ require("spectre").setup()
+ end,
+ disable = not O.plugin.spectre.active,
+ }
+ -- lsp root with this nvim-tree will follow you
+ use {
+ "ahmedkhalf/lsp-rooter.nvim",
+ event = "BufRead",
+ config = function()
+ require("lsp-rooter").setup()
+ end,
+ disable = not O.plugin.lsp_rooter.active,
+ }
+ -- Markdown preview
+ use {
+ "iamcco/markdown-preview.nvim",
+ run = "cd app && npm install",
+ ft = "markdown",
+ disable = not O.plugin.markdown_preview.active,
+ }
+ -- Interactive scratchpad
+ use {
+ "metakirby5/codi.vim",
+ cmd = "Codi",
+ disable = not O.plugin.codi.active,
+ }
+ -- Use fzy for telescope
+ use {
+ "nvim-telescope/telescope-fzy-native.nvim",
+ event = "BufRead",
+ disable = not O.plugin.telescope_fzy.active,
+ }
+ -- Use project for telescope
+ use {
+ "nvim-telescope/telescope-project.nvim",
+ event = "BufRead",
+ after = "telescope.nvim",
+ disable = not O.plugin.telescope_project.active,
+ }
+ -- Sane gx for netrw_gx bug
+ use {
+ "felipec/vim-sanegx",
+ event = "BufRead",
+ disable = not O.plugin.sanegx.active,
+ }
+ -- Sane gx for netrw_gx bug
+ use {
+ "folke/todo-comments.nvim",
+ event = "BufRead",
+ disable = not O.plugin.todo_comments.active,
+ }
+ -- LSP Colors
+ use {
+ "folke/lsp-colors.nvim",
+ event = "BufRead",
+ disable = not O.plugin.lsp_colors.active,
+ }
+ -- Git Blame
+ use {
+ "f-person/git-blame.nvim",
+ event = "BufRead",
+ disable = not O.plugin.git_blame.active,
+ }
+ use {
+ "ruifm/gitlinker.nvim",
+ event = "BufRead",
+ config = function()
+ require("gitlinker").setup {
+ opts = {
+ -- remote = 'github', -- force the use of a specific remote
+ -- adds current line nr in the url for normal mode
+ add_current_line_on_normal_mode = true,
+ -- callback for what to do with the url
+ action_callback = require("gitlinker.actions").open_in_browser,
+ -- print the url after performing the action
+ print_url = false,
+ -- mapping to call url generation
+ mappings = "<leader>gy",
+ },
+ }
+ end,
+ disable = not O.plugin.gitlinker.active,
+ requires = "nvim-lua/plenary.nvim",
+ }
+ -- Lazygit
+ use {
+ "kdheepak/lazygit.nvim",
+ cmd = "LazyGit",
+ disable = not O.plugin.lazygit.active,
+ }
+ -- Octo
+ use {
+ "pwntester/octo.nvim",
+ event = "BufRead",
+ disable = not O.plugin.octo.active,
+ }
+ -- Diffview
+ use {
+ "sindrets/diffview.nvim",
+ event = "BufRead",
+ disable = not O.plugin.diffview.active,
+ }
+ -- Easily Create Gists
+ use {
+ "mattn/vim-gist",
+ event = "BufRead",
+ disable = not O.plugin.gist.active,
+ requires = "mattn/webapi-vim",
+ }
+ -- Lush Create Color Schemes
+ use {
+ "rktjmp/lush.nvim",
+ -- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"},
+ disable = not O.plugin.lush.active,
+ }
+ -- HTML preview
+ use {
+ "turbio/bracey.vim",
+ event = "BufRead",
+ run = "npm install --prefix server",
+ disable = not O.plugin.bracey.active,
+ }
+ -- Debugger management
+ use {
+ "Pocco81/DAPInstall.nvim",
+ -- event = "BufRead",
+ disable = not O.plugin.dap_install.active,
+ }
+
+ -- LANGUAGE SPECIFIC GOES HERE
+
+ use { "lervag/vimtex", ft = "tex" }
+
+ -- Rust tools
+ -- TODO: use lazy loading maybe?
+ use {
+ "simrat39/rust-tools.nvim",
+ disable = not O.lang.rust.rust_tools.active,
+ }
+
+ -- Elixir
+ use { "elixir-editors/vim-elixir", ft = { "elixir", "eelixir", "euphoria3" } }
+
+ -- Javascript / Typescript
+ use {
+ "jose-elias-alvarez/nvim-lsp-ts-utils",
+ ft = {
+ "javascript",
+ "javascriptreact",
+ "javascript.jsx",
+ "typescript",
+ "typescriptreact",
+ "typescript.tsx",
+ },
+ }
+ -- use {
+ -- "jose-elias-alvarez/null-ls.nvim",
+ -- ft = {
+ -- "javascript",
+ -- "javascriptreact",
+ -- "javascript.jsx",
+ -- "typescript",
+ -- "typescriptreact",
+ -- "typescript.tsx",
+ -- },
+ -- config = function()
+ -- require("null-ls").setup()
+ -- end,
+ -- }
+
+ -- Tabnine
+ use {
+ "tzachar/compe-tabnine",
+ run = "./install.sh",
+ requires = "hrsh7th/nvim-compe",
+ disable = not O.plugin.tabnine.active,
+ }
+ for _, plugin in pairs(O.custom_plugins) do
+ packer.use(plugin)
+ end
end)
diff --git a/lua/settings.lua b/lua/settings.lua
index 6c7f7ddf..371cdb08 100644
--- a/lua/settings.lua
+++ b/lua/settings.lua
@@ -1,60 +1,60 @@
--- HELPERS ---
-
local cmd = vim.cmd
local opt = vim.opt
-
--- VIM ONLY COMMANDS ---
-
-cmd('filetype plugin on') -- filetype detection
-cmd('let &titleold="'..TERMINAL..'"')
-cmd('set inccommand=split') -- show what you are substituting in real time
-cmd('set iskeyword+=-') -- treat dash as a separate word
-cmd('set whichwrap+=<,>,[,],h,l') -- move to next line with theses keys
+cmd "filetype plugin on"
+cmd('let &titleold="' .. TERMINAL .. '"')
+cmd "set inccommand=split"
+cmd "set iskeyword+=-"
+cmd "set whichwrap+=<,>,[,],h,l"
if O.transparent_window then
- cmd('au ColorScheme * hi Normal ctermbg=none guibg=none')
- end
+ cmd "au ColorScheme * hi Normal ctermbg=none guibg=none"
+ cmd "au ColorScheme * hi SignColumn ctermbg=none guibg=none"
+end
---- SETTINGS ---
+--- COLORSCHEME ---
+vim.g.colors_name = O.colorscheme
-opt.backup = false -- creates a backup file
-opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
-opt.cmdheight = 2 -- more space in the neovim command line for displaying messages
-opt.colorcolumn = "99999" -- fix indentline for now
-opt.completeopt = {'menuone', 'noselect'}
-opt.conceallevel = 0 -- so that `` is visible in markdown files
-opt.fileencoding = "utf-8" -- the encoding written to a file
-opt.guifont = "monospace:h17" -- the font used in graphical neovim applications
-opt.hidden = O.hidden_files -- required to keep multiple buffers and open multiple buffers
-opt.hlsearch = O.hl_search -- highlight all matches on previous search pattern
-opt.ignorecase = O.ignore_case -- ignore case in search patterns
-opt.mouse = "a" -- allow the mouse to be used in neovim
-opt.pumheight = 10 -- pop up menu height
-opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
-opt.showtabline = 2 -- always show tabs
-opt.smartcase = O.smart_case -- smart case
-opt.smartindent = true -- make indenting smarter again
-opt.splitbelow = true -- force all horizontal splits to go below current window
-opt.splitright = true -- force all vertical splits to go to the right of current window
-opt.swapfile = false -- creates a swapfile
-opt.termguicolors = true -- set term gui colors (most terminals support this)
-opt.timeoutlen = O.timeoutlen -- time to wait for a mapped sequence to complete (in milliseconds)
-opt.title = true -- set the title of window to the value of the titlestring
-opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
-opt.undodir = CACHE_PATH .. '/undo' -- set an undo directory
-opt.undofile = true -- enable persisten undo
-opt.updatetime = 300 -- faster completion
-opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
-opt.expandtab = true -- convert tabs to spaces
-opt.shiftwidth = 4 -- the number of spaces inserted for each indentation
-opt.shortmess:append("c") -- don't pass messages to |ins-completion-menu|
-opt.tabstop = 4 -- insert 4 spaces for a tab
-opt.cursorline = O.cursorline -- highlight the current line
-opt.number = O.number -- set numbered lines
-opt.relativenumber = O.relative_number -- set relative numbered lines
-opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time
-opt.wrap = O.wrap_lines -- display lines as one long line
+--- SETTINGS ---
+opt.backup = false -- creates a backup file
+opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
+opt.cmdheight = 2 -- more space in the neovim command line for displaying messages
+opt.colorcolumn = "99999" -- fix indentline for now
+opt.completeopt = { "menuone", "noselect" }
+opt.conceallevel = 0 -- so that `` is visible in markdown files
+opt.fileencoding = "utf-8" -- the encoding written to a file
+opt.guifont = "monospace:h17" -- the font used in graphical neovim applications
+opt.hidden = O.hidden_files -- required to keep multiple buffers and open multiple buffers
+opt.hlsearch = O.hl_search -- highlight all matches on previous search pattern
+opt.ignorecase = O.ignore_case -- ignore case in search patterns
+opt.mouse = "a" -- allow the mouse to be used in neovim
+opt.pumheight = 10 -- pop up menu height
+opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
+opt.showtabline = 2 -- always show tabs
+opt.smartcase = O.smart_case -- smart case
+opt.smartindent = true -- make indenting smarter again
+opt.splitbelow = true -- force all horizontal splits to go below current window
+opt.splitright = true -- force all vertical splits to go to the right of current window
+opt.swapfile = false -- creates a swapfile
+opt.termguicolors = true -- set term gui colors (most terminals support this)
+opt.timeoutlen = O.timeoutlen -- time to wait for a mapped sequence to complete (in milliseconds)
+opt.title = true -- set the title of window to the value of the titlestring
+opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
+opt.undodir = CACHE_PATH .. "/undo" -- set an undo directory
+opt.undofile = true -- enable persisten undo
+opt.updatetime = 300 -- faster completion
+opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
+opt.expandtab = true -- convert tabs to spaces
+opt.shiftwidth = 4 -- the number of spaces inserted for each indentation
+opt.shortmess:append "c"
+opt.tabstop = 4 -- insert 4 spaces for a tab
+opt.cursorline = O.cursorline -- highlight the current line
+opt.number = O.number -- set numbered lines
+opt.relativenumber = O.relative_number -- set relative numbered lines
+opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time
+opt.wrap = O.wrap_lines -- display lines as one long line
diff --git a/utils/.stylua.toml b/utils/.stylua.toml
new file mode 100644
index 00000000..df96b7b0
--- /dev/null
+++ b/utils/.stylua.toml
@@ -0,0 +1,6 @@
+column_width = 120
+line_endings = "Unix"
+indent_type = "Spaces"
+indent_width = 2
+quote_style = "AutoPreferDouble"
+no_call_parentheses = true
diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua
index f71ad561..71d9dfc8 100644
--- a/utils/installer/lv-config.example.lua
+++ b/utils/installer/lv-config.example.lua
@@ -1,26 +1,27 @@
--[[
O is the global options object
-Formatters and linters should be
+Linters should be
filled in as strings with either
a global executable or a path to
an executable
]] -- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT
-- general
+O.format_on_save = true
O.auto_complete = true
-O.colorscheme = 'spacegray'
+O.colorscheme = "spacegray"
O.auto_close_tree = 0
O.wrap_lines = false
O.timeoutlen = 100
O.document_highlight = true
-O.extras = false
-O.leader_key = ' '
+O.leader_key = " "
O.ignore_case = true
O.smart_case = true
O.lushmode = false
O.transparent_window = false
--- After changing plugin config it is recommended to run :PackerCompile
+-- TODO User Config for predefined plugins
+-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile
O.plugin.hop.active = false
O.plugin.dial.active = false
O.plugin.dashboard.active = true
@@ -46,13 +47,9 @@ O.lang.clang.diagnostics.signs = true
O.lang.clang.diagnostics.underline = true
-- python
--- add things like O.python.formatter.yapf.exec_path
-- add things like O.python.linter.flake8.exec_path
--- add things like O.python.formatter.isort.exec_path
-O.lang.python.formatter = 'yapf'
-- O.python.linter = 'flake8'
O.lang.python.isort = true
-O.lang.python.autoformat = true
O.lang.python.diagnostics.virtual_text = true
O.lang.python.diagnostics.signs = true
O.lang.python.diagnostics.underline = true
@@ -60,58 +57,18 @@ O.lang.python.analysis.type_checking = "off"
O.lang.python.analysis.auto_search_paths = true
O.lang.python.analysis.use_library_code_types = true
-
--- lua
--- TODO look into stylua
-O.lang.lua.formatter = 'lua-format'
--- O.lua.formatter = 'lua-format'
-O.lang.lua.autoformat = false
-
-- javascript
-O.lang.tsserver.formatter = 'prettier'
O.lang.tsserver.linter = nil
-O.lang.tsserver.autoformat = true
-
--- json
-O.lang.json.autoformat = true
-
--- ruby
-O.lang.ruby.autoformat = true
-
--- go
-O.lang.go.autoformat = true
-
--- rust
-O.lang.rust.autoformat = true
-
--- clang
-O.lang.clang.autoformat = false -- Set to true to enable auto-format in C/C++ files.
-
-
-
--- create custom autocommand field (This would be easy with lua)
-
--- Turn off relative_numbers
--- O.relative_number = false
-
--- Turn off cursorline
--- O.cursorline = false
-
--- Neovim turns the default cursor to 'Block'
--- when switched back into terminal.
--- This below line fixes that. Uncomment if needed.
--- vim.cmd('autocmd VimLeave,VimSuspend * set guicursor=a:ver90') -- Beam
--- vim.cmd('autocmd VimLeave,VimSuspend * set guicursor=a:hor20') -- Underline
+-- php
+O.lang.php.environment.php_version = "7.4"
+O.lang.php.diagnostics.signs = true
+O.lang.php.diagnostics.underline = true
+O.lang.php.filetypes = {"php", "phtml"}
--- NOTE: Above code doesn't take a value from the terminal's cursor and
--- replace it. It hardcodes the cursor shape.
--- And I think `ver` means vertical and `hor` means horizontal.
--- The numbers didn't make a difference in alacritty. Please change
--- the number to something that suits your needs if it looks weird.
+-- Autocommands (https://neovim.io/doc/user/autocmd.html)
+-- O.user_autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}}
--- TODO
--- custom autocommands
--- user defined plugin config
--- custom settings
+-- Additional Plugins
+-- O.custom_plugins = {{"windwp/nvim-ts-autotag"}}
diff --git a/utils/lush-template/lua/lush_theme/lush_template.lua b/utils/lush-template/lua/lush_theme/lush_template.lua
index bd3f0849..26b04d8b 100644
--- a/utils/lush-template/lua/lush_theme/lush_template.lua
+++ b/utils/lush-template/lua/lush_theme/lush_template.lua
@@ -42,7 +42,7 @@
--
-- `:lua require('lush').ify()`
-local lush = require('lush')
+local lush = require "lush"
local hsl = lush.hsl
local theme = lush(function()
@@ -101,7 +101,7 @@ local theme = lush(function()
-- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
-- Search { }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
-- SpecialKey { }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
- -- SpellBad { }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
+ -- SpellBad { }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
-- SpellCap { }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
-- SpellLocal { }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
-- SpellRare { }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
@@ -260,7 +260,6 @@ local theme = lush(function()
-- TSTitle { }; -- Text that is part of a title.
-- TSLiteral { }; -- Literal text.
-- TSURI { }; -- Any URI like a link or email.
-
}
end)