@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
9191vim .g .maplocalleader = ' '
9292
9393-- Set to true if you have a Nerd Font installed and selected in the terminal
94- vim .g .have_nerd_font = false
94+ vim .g .have_nerd_font = true
9595
9696-- [[ Setting options ]]
9797-- See `:help vim.opt`
@@ -616,18 +616,45 @@ require('lazy').setup({
616616 -- - settings (table): Override the default settings passed when initializing the server.
617617 -- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
618618 local servers = {
619- -- clangd = {},
620- -- gopls = {},
621- -- pyright = {},
622- -- rust_analyzer = {},
623- -- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
619+ -- See `:help lspconfig-all` for a list of all the pre-configured LSPs.
620+ ansiblels = {},
621+ arduino_language_server = {},
622+ awk_ls = {},
623+ bashls = {},
624+ clangd = {},
625+ codeqlls = {},
626+ cssls = {},
627+ docker_compose_language_service = {},
628+ dockerls = {},
629+ eslint = {},
630+ golangci_lint_ls = {},
631+ gradle_ls = {},
632+ graphql = {},
633+ groovyls = {},
634+ helm_ls = {},
635+ html = {},
636+ java_language_server = {},
637+ jinja_lsp = {},
638+ jqls = {},
639+ jsonls = {},
640+ kotlin_language_server = {},
641+ powershell_es = {},
642+ pyright = {},
643+ ruff = {},
644+ rust_analyzer = {},
645+ sqlls = {},
646+ taplo = {},
647+ terraformls = {},
648+ vale_ls = {},
649+ vimls = {},
650+ yamlls = {},
651+ zls = {},
624652 --
625653 -- Some languages (like typescript) have entire language plugins that can be useful:
626654 -- https://github.com/pmizio/typescript-tools.nvim
627655 --
628656 -- But for many setups, the LSP (`ts_ls`) will work just fine
629- -- ts_ls = {},
630- --
657+ ts_ls = {},
631658
632659 lua_ls = {
633660 -- cmd = { ... },
@@ -638,8 +665,12 @@ require('lazy').setup({
638665 completion = {
639666 callSnippet = ' Replace' ,
640667 },
668+ telemetry = { enable = false },
669+ diagnostics = {
670+ disable = { ' missing-fields' }
671+ },
672+ -- workspace = { checkThirdParty = false },
641673 -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
642- -- diagnostics = { disable = { 'missing-fields' } },
643674 },
644675 },
645676 },
@@ -712,16 +743,35 @@ require('lazy').setup({
712743 }
713744 end ,
714745 formatters_by_ft = {
746+ bash = { ' shfmt' },
747+ go = { ' gofmt' , ' goimports' , ' gotests' },
748+ hcl = { ' tofu_fmt' },
715749 lua = { ' stylua' },
750+ markdown = { ' markdownlint' },
751+ python = { ' ruff_format' , ' ruff_fix' },
752+ rust = { ' rustfmt' , lsp_format = ' fallback' },
753+ sh = { ' shfmt' },
754+ terraform = { ' tofu_fmt' },
755+ tofu = { ' tofu_fmt' },
756+ xml = { ' xmlformatter' },
757+ zsh = { ' shfmt' },
716758 -- Conform can also run multiple formatters sequentially
717759 -- python = { "isort", "black" },
718760 --
719761 -- You can use 'stop_after_first' to run the first available formatter from the list
720- -- javascript = { "prettierd", "prettier", stop_after_first = true },
762+ javascript = { " prettierd" }, -- "prettier", stop_after_first = true },
763+ typescript = { ' prettierd' }, -- 'prettier', stop_after_first = true },
764+ markdown = { ' prettierd' }, -- 'prettier', stop_after_first = true },
765+ json = { ' prettierd' }, -- 'prettier', stop_after_first = true },
766+ yaml = { ' prettierd' , ' yamlfmt' }, -- 'prettier', stop_after_first = true },
767+ },
768+ format_on_save = {
769+ lsp_fallback = true ,
770+ async = true ,
771+ timeout_ms = 1000 ,
721772 },
722773 },
723774 },
724-
725775 { -- Autocompletion
726776 ' hrsh7th/nvim-cmp' ,
727777 event = ' InsertEnter' ,
@@ -837,28 +887,59 @@ require('lazy').setup({
837887 }
838888 end ,
839889 },
840-
841890 { -- You can easily change to a different colorscheme.
842891 -- Change the name of the colorscheme plugin below, and then
843892 -- change the command in the config to whatever the name of that colorscheme is.
844893 --
845894 -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
846- ' folke/tokyonight.nvim' ,
895+ -- 'folke/tokyonight.nvim',
896+ -- 'joshdick/onedark.vim', -- GOAT.
897+ ' olimorris/onedarkpro.nvim' , -- New hotness?
898+ -- 'KeitaNakamura/neodark.vim',
847899 priority = 1000 , -- Make sure to load this before all the other start plugins.
848900 init = function ()
849901 -- Load the colorscheme here.
850902 -- Like many other themes, this one has different styles, and you could load
851903 -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
852- vim .cmd .colorscheme ' tokyonight-night'
904+ -- vim.cmd.colorscheme 'tokyonight-night'
905+ -- vim.cmd.colorscheme 'onedark' -- Valid for both onedark.nvim and onedarkpro.nvim themes.
906+ vim .cmd .colorscheme ' onedark_vivid' -- Valid for onedarkpro.nvim.
907+ -- vim.cmd.colorscheme 'neodark'
853908
854909 -- You can configure highlights by doing something like:
855910 vim .cmd .hi ' Comment gui=none'
856911 end ,
857912 },
858-
913+ {
914+ -- "A light and configurable statusline/tabline plugin for Vim"
915+ -- 'itchyny/lightline.vim',
916+ -- "Lean & mean status/tabline for vim that's light as air."
917+ -- 'vim-airline/vim-airline',
918+ -- Uncomment to enable lightline.vim and vim-airline themes compatible with 'joshdick/onedark.vim'.
919+ -- vim.g.lightline.colorscheme 'onedark',
920+ -- vim.g.airline_theme 'onedark',
921+ -- Set lualine as statusline. `:help lualine.txt`
922+ ' nvim-lualine/lualine.nvim' ,
923+ opts = {
924+ options = {
925+ icons_enabled = true ,
926+ theme = ' onedark_vivid' ,
927+ component_separators = ' |' ,
928+ section_separators = ' ' ,
929+ },
930+ },
931+ },
932+ -- Recommended for improved syntax highlighting with 'joshdick/onedark.vim'.
933+ -- Incompatible with 'tpope/vim-sleuth'.
934+ -- 2747: Vim(let):E741: Value is locked: g:loaded_sleuth
935+ -- {
936+ -- 'sheerun/vim-polyglot',
937+ -- },
859938 -- Highlight todo, notes, etc in comments
860939 { ' folke/todo-comments.nvim' , event = ' VimEnter' , dependencies = { ' nvim-lua/plenary.nvim' }, opts = { signs = false } },
861-
940+ { -- GitHub Copilot. `:Copilot setup`
941+ ' github/copilot.vim'
942+ },
862943 { -- Collection of various small independent plugins/modules
863944 ' echasnovski/mini.nvim' ,
864945 config = function ()
@@ -880,29 +961,104 @@ require('lazy').setup({
880961 -- Simple and easy statusline.
881962 -- You could remove this setup call if you don't like it,
882963 -- and try some other statusline plugin
883- local statusline = require ' mini.statusline'
964+ -- local statusline = require 'mini.statusline'
884965 -- set use_icons to true if you have a Nerd Font
885- statusline .setup { use_icons = vim .g .have_nerd_font }
966+ -- statusline.setup { use_icons = vim.g.have_nerd_font }
886967
887968 -- You can configure sections in the statusline by overriding their
888969 -- default behavior. For example, here we set the section for
889970 -- cursor location to LINE:COLUMN
890971 --- @diagnostic disable-next-line : duplicate-set-field
891- statusline .section_location = function ()
892- return ' %2l:%-2v'
893- end
972+ -- statusline.section_location = function()
973+ -- return '%2l:%-2v'
974+ -- end
894975
895976 -- ... and there is more!
896977 -- Check out: https://github.com/echasnovski/mini.nvim
897978 end ,
898979 },
899980 { -- Highlight, edit, and navigate code
900981 ' nvim-treesitter/nvim-treesitter' ,
982+ dependencies = {
983+ ' nvim-treesitter/nvim-treesitter-textobjects' ,
984+ },
901985 build = ' :TSUpdate' ,
902986 main = ' nvim-treesitter.configs' , -- Sets main module to use for opts
903987 -- [[ Configure Treesitter ]] See `:help nvim-treesitter`
904988 opts = {
905- ensure_installed = { ' bash' , ' c' , ' diff' , ' html' , ' lua' , ' luadoc' , ' markdown' , ' markdown_inline' , ' query' , ' vim' , ' vimdoc' },
989+ ensure_installed = {
990+ -- Gotta sort and reassign these.
991+ -- This variable can only handle base languages.
992+ ' arduino' ,
993+ -- 'arduino_language_server',
994+ ' awk' ,
995+ -- 'awk-language-server',
996+ ' bash' ,
997+ -- 'bash-language-server', 'shellcheck', 'shfmt', 'shellharden',
998+ ' c' ,
999+ ' cmake' ,
1000+ -- 'clangd', 'cmakelint', 'cmake-language-server', 'checkmake',
1001+ ' csv' ,
1002+ ' diff' ,
1003+ ' dockerfile' ,
1004+ ' fish' ,
1005+ ' git_config' , ' git_rebase' , ' gitattributes' , ' gitignore' ,
1006+ -- 'gh', 'actionlint',
1007+ ' go' , ' gomod' , ' gosum' , ' gotmpl' ,
1008+ -- 'gopls', 'gotests',
1009+ ' gpg' ,
1010+ ' graphql' ,
1011+ ' groovy' ,
1012+ -- 'hadolint',
1013+ ' hcl' ,
1014+ -- 'hclfmt',
1015+ ' html' ,
1016+ ' java' ,
1017+ ' javascript' ,
1018+ -- 'jinja-lsp',
1019+ ' jq' , ' json' , ' json5' ,
1020+ -- 'json-lsp', 'jsonld-lsp', 'jsonlint', 'jq-lsp',
1021+ ' kotlin' ,
1022+ -- 'kotlin-language-server', 'ktfmt', 'ktlint',
1023+ ' lua' ,
1024+ -- 'lua-language-server', 'luadoc',
1025+ ' markdown' ,
1026+ -- 'markdownlint', 'markdownlint-cli2',
1027+ -- 'matlab',
1028+ -- 'mermaid', -- Experimental.
1029+ ' passwd' ,
1030+ -- 'perl',
1031+ ' powershell' ,
1032+ -- 'powershell-editor-services',
1033+ -- 'prolog',
1034+ ' python' ,
1035+ -- 'pylint', 'requirements', 'ruff', 'ruff-lsp',
1036+ ' query' ,
1037+ ' regex' ,
1038+ ' rust' ,
1039+ -- 'rust-analyzer',
1040+ -- 'semgrep',
1041+ -- 'snyk',
1042+ -- 'snyk-ls',
1043+ ' sql' ,
1044+ -- 'sqlls', 'sqlfluff', 'sqlfmt',
1045+ ' ssh_config' ,
1046+ ' terraform' ,
1047+ -- 'terraform-ls', 'tflint',
1048+ ' tmux' ,
1049+ -- 'trivy',
1050+ ' typescript' ,
1051+ -- 'typescript-language-server',
1052+ -- 'vale',
1053+ ' vim' , ' vimdoc' ,
1054+ -- 'vim-language-server',
1055+ ' xml' ,
1056+ -- 'xmlformatter',
1057+ ' yaml' ,
1058+ -- 'yamlfmt', 'yamllint', 'yamlfix',
1059+ ' zig' ,
1060+ -- 'zls',
1061+ },
9061062 -- Autoinstall languages that are not installed
9071063 auto_install = true ,
9081064 highlight = {
@@ -933,10 +1089,10 @@ require('lazy').setup({
9331089 --
9341090 -- require 'kickstart.plugins.debug',
9351091 -- require 'kickstart.plugins.indent_line',
936- -- require 'kickstart.plugins.lint',
1092+ require ' kickstart.plugins.lint' ,
9371093 -- require 'kickstart.plugins.autopairs',
9381094 -- require 'kickstart.plugins.neo-tree',
939- -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
1095+ require ' kickstart.plugins.gitsigns' , -- adds gitsigns recommend keymaps
9401096
9411097 -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
9421098 -- This is the easiest way to modularize your config.
0 commit comments