ide/patch/kickstart.nvim/updates.patch
Joao P Dubas 0fd820ff93 feat: upgrade kickstart to latest commit
Also improve the way elixirls is setup for previous versions.
2024-02-12 23:44:59 +00:00

176 lines
5.0 KiB
Diff

diff --git a/init.lua b/init.lua
index fd4567d..236fb97 100644
--- a/init.lua
+++ b/init.lua
@@ -200,19 +200,19 @@ require('lazy').setup({
},
},
- {
- -- Theme inspired by Atom
- 'navarasu/onedark.nvim',
- priority = 1000,
- lazy = false,
- config = function()
- require('onedark').setup {
- -- Set a style preset. 'dark' is default.
- style = 'dark', -- dark, darker, cool, deep, warm, warmer, light
- }
- require('onedark').load()
- end,
- },
+ -- {
+ -- -- Theme inspired by Atom
+ -- 'navarasu/onedark.nvim',
+ -- priority = 1000,
+ -- lazy = false,
+ -- config = function()
+ -- require('onedark').setup {
+ -- -- Set a style preset. 'dark' is default.
+ -- style = 'dark', -- dark, darker, cool, deep, warm, warmer, light
+ -- }
+ -- require('onedark').load()
+ -- end,
+ -- },
{
-- Set lualine as statusline
@@ -282,7 +282,7 @@ require('lazy').setup({
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
--
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
- -- { import = 'custom.plugins' },
+ { import = 'custom.plugins' },
}, {})
-- [[ Setting options ]]
@@ -292,11 +292,12 @@ require('lazy').setup({
-- Set highlight on search
vim.o.hlsearch = false
--- Make line numbers default
+-- Make relative line numbers default
vim.wo.number = true
+vim.wo.relativenumber = true
--- Enable mouse mode
-vim.o.mouse = 'a'
+-- Disable mouse mode
+vim.o.mouse = ''
-- Sync clipboard between OS and Neovim.
-- Remove this option if you want your OS clipboard to remain independent.
@@ -326,6 +327,14 @@ vim.o.completeopt = 'menuone,noselect'
-- NOTE: You should make sure your terminal supports this
vim.o.termguicolors = true
+-- Set foldmethod
+-- See `:help foldmethod`
+vim.o.foldcolumn = '1'
+vim.o.foldlevel = 99
+vim.o.foldlevelstart = 99
+vim.o.foldenable = true
+vim.o.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]
+
-- [[ Basic Keymaps ]]
-- Keymaps for better default experience
@@ -439,8 +448,31 @@ vim.keymap.set('n', '<leader>sr', require('telescope.builtin').resume, { desc =
vim.defer_fn(function()
require('nvim-treesitter.configs').setup {
-- Add languages to be installed here that you want installed for treesitter
- ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'javascript', 'typescript', 'vimdoc', 'vim', 'bash' },
-
+ ensure_installed = {
+ 'css',
+ 'dockerfile',
+ 'eex',
+ 'elixir',
+ 'erlang',
+ 'gitcommit',
+ 'go',
+ 'heex',
+ 'html',
+ 'http',
+ 'javascript',
+ 'json',
+ 'lua',
+ 'markdown',
+ 'markdown_inline',
+ 'python',
+ 'sql',
+ 'toml',
+ 'tsx',
+ 'typescript',
+ 'vim',
+ 'vimdoc',
+ 'yaml'
+ },
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
auto_install = false,
-- Install languages synchronously (only applied to `ensure_installed`)
@@ -586,13 +618,18 @@ require('mason-lspconfig').setup()
-- If you want to override the default filetypes that your language server will attach to you can
-- define the property 'filetypes' to the map in question.
local servers = {
- -- clangd = {},
- -- gopls = {},
- -- pyright = {},
- -- rust_analyzer = {},
- -- tsserver = {},
- -- html = { filetypes = { 'html', 'twig', 'hbs'} },
-
+ elixirls = {
+ elixirLS = {
+ dialyzerEnabled = true,
+ dialyzerFormat = "dialyxir_long",
+ fetchDeps = false,
+ mixEnv = "test"
+ }
+ },
+ gopls = {},
+ helm_ls = {},
+ html = { filetypes = { 'html', 'twig', 'hbs'} },
+ htmx = {},
lua_ls = {
Lua = {
workspace = { checkThirdParty = false },
@@ -601,6 +638,10 @@ local servers = {
-- diagnostics = { disable = { 'missing-fields' } },
},
},
+ pyright = {},
+ templ = {},
+ terraformls = {},
+ tsserver = {},
}
-- Setup neovim lua configuration
@@ -619,12 +660,25 @@ mason_lspconfig.setup {
mason_lspconfig.setup_handlers {
function(server_name)
- require('lspconfig')[server_name].setup {
+ local opts = {
capabilities = capabilities,
on_attach = on_attach,
settings = servers[server_name],
filetypes = (servers[server_name] or {}).filetypes,
}
+ if server_name == 'elixirls' then
+ local version = vim.fn.system('mise current elixir') or ''
+ local elixir_servers = {
+ { version = '^1.11', path = '/elixir-ls/release/v0.12.0/language_server.sh' },
+ { version = '^1.12', path = '/elixir-ls/release/v0.14.6/language_server.sh' },
+ }
+ for _, server in ipairs(elixir_servers) do
+ if string.match(version, server.version) == nil then goto continue end
+ opts = vim.tbl_extend('keep', opts, { cmd = { vim.fn.expand('$LOCAL_SRC_HOME') .. server.path } })
+ ::continue::
+ end
+ end
+ require('lspconfig')[server_name].setup(opts)
end,
}