diff --git a/init.lua b/init.lua index 9e65493..9caf011 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,11 @@ -require("vim-options") +vim.opt.number = true +vim.opt.expandtab = true +vim.opt.number = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.title = true +vim.opt.whichwrap = "<,>,[,]" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then @@ -11,9 +18,77 @@ if not vim.loop.fs_stat(lazypath) then lazypath, }) end - vim.opt.rtp:prepend(lazypath) -require("lazy").setup({ - spec = "plugins" + +local plugins = { + { "rebelot/kanagawa.nvim", name = "kanagawa", priority = 1000 }, + { + "nvim-telescope/telescope.nvim", tag = "0.1.8", + dependencies = { "nvim-lua/plenary.nvim" } + }, + { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, + { "williamboman/mason.nvim" }, + { "williamboman/mason-lspconfig.nvim" }, + { "neovim/nvim-lspconfig" }, + { "hrsh7th/nvim-cmp" }, + { "hrsh7th/cmp-nvim-lsp" }, +} + +require("lazy").setup(plugins, {}) + +vim.cmd.colorscheme "kanagawa-dragon" +local builtin = require("telescope.builtin") + +local configs = require("nvim-treesitter.configs") + +configs.setup({ + ensure_installed = { "asm", "c", "javascript", "latex", "lua", "matlab", "meson", "sql", "toml", "typescript", "verilog", "vue" }, + highlight = { enable = true }, + indent = { enable = true } }) +require("mason").setup() +require("mason-lspconfig").setup({ + ensure_installed = { "clangd", "texlab", "lua_ls", "matlab_ls", "mesonlsp", "sqlls", "svlangserver", "ts_ls", "volar" } +}) + +local lspconfig = require("lspconfig") + +lspconfig.clangd.setup({ + cmd = { "clangd", "-header-insertion=never" }, +}) +lspconfig.lua_ls.setup({}) +lspconfig.matlab_ls.setup({}) +lspconfig.mesonlsp.setup({}) +lspconfig.sqlls.setup({}) +lspconfig.svlangserver.setup({}) +lspconfig.texlab.setup({}) +lspconfig.ts_ls.setup({}) +lspconfig.volar.setup({}) + +local cmp = require("cmp") + +cmp.setup({ + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + }), +}) + +vim.keymap.set("n", "T", function() vim.lsp.buf.definition() end, {}) +vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {}) +vim.keymap.set("n", "J", function() vim.lsp.buf.type_definition() end, {}) +vim.keymap.set("n", "C", function() vim.lsp.buf.code_action() end, {}) + +vim.keymap.set("n", "", builtin.find_files, {}) +vim.keymap.set("n", "", builtin.live_grep, {}) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 0af4ee2..55227ad 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -4,12 +4,6 @@ return { priority = 1000, config = function () - local conf = require("kanagawa") - - conf.setup({ - theme = "dragon" - }) - - vim.cmd("colorscheme kanagawa") + vim.cmd("colorscheme kanagawa-dragon") end } diff --git a/lua/plugins/completion.lua b/lua/plugins/completion.lua deleted file mode 100644 index af17486..0000000 --- a/lua/plugins/completion.lua +++ /dev/null @@ -1,29 +0,0 @@ -return { - { - "hrsh7th/cmp-nvim-lsp" - }, - { - "hrsh7th/nvim-cmp", - - config = function() - local cmp = require("cmp") - - cmp.setup({ - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered() - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = true }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" } - }) - }) - end - } -} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua deleted file mode 100644 index 037c0ad..0000000 --- a/lua/plugins/lsp.lua +++ /dev/null @@ -1,20 +0,0 @@ -return { - { - "williamboman/mason.nvim", - - config = function() - require("mason").setup() - end - }, - { - "williamboman/mason-lspconfig.nvim", - - config = function() - local mason_lspconfig = require("mason") - - mason_lspconfig.setup({ - ensure_installed = { "clangd", "texlab", "lua_ls", "matlab_ls", "mesonlsp", "sqlls", "svlangserver", "ts_ls", "volar" } - }) - end - } -} diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua deleted file mode 100644 index 1005f08..0000000 --- a/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,33 +0,0 @@ -return { - "neovim/nvim-lspconfig", - - config = function() - local lspconfig = require("lspconfig") - local mason_registry = require("mason-registry") - local volar_path = mason_registry.get_package("vue-language-server"):get_install_path() .. "/node_modules/@vue/language-server" - - lspconfig.clangd.setup({ - cmd = { "clangd", "-header-insertion=never" }, - }) - lspconfig.lua_ls.setup({}) - lspconfig.matlab_ls.setup({}) - lspconfig.mesonlsp.setup({}) - lspconfig.sqlls.setup({}) - lspconfig.svlangserver.setup({}) - lspconfig.texlab.setup({}) - - lspconfig.ts_ls.setup({ - init_options = { - plugins = { - { - name = "@vue/typescript-plugin", - location = volar_path, - languages = { "vue" }, - }, - }, - }, - filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" }, - }) - lspconfig.volar.setup({}) - end -} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua deleted file mode 100644 index 1f913d2..0000000 --- a/lua/plugins/treesitter.lua +++ /dev/null @@ -1,14 +0,0 @@ -return { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - - config = function() - local config = require("nvim-treesitter.configs") - - config.setup({ - ensure_installed = { "asm", "c", "css", "javascript", "latex", "lua", "matlab", "meson", "sql", "toml", "typescript", "verilog", "vue" }, - highlight = { enable = true }, - indent = { enable = true } - }) - end -} diff --git a/lua/vim-options.lua b/lua/vim-options.lua deleted file mode 100644 index 7d83804..0000000 --- a/lua/vim-options.lua +++ /dev/null @@ -1,34 +0,0 @@ -vim.o.background = "" -vim.cmd("set number") -vim.cmd("set expandtab") -vim.cmd("set tabstop=2") -vim.cmd("set scrolloff=4") -vim.cmd("set softtabstop=2") -vim.cmd("set shiftwidth=2") -vim.cmd("set title") - -vim.keymap.set("n", "T", function() vim.lsp.buf.definition() end, {}) -vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {}) -vim.keymap.set("n", "J", function() vim.lsp.buf.type_definition() end, {}) -vim.keymap.set("n", "C", function() vim.lsp.buf.code_action() end, {}) - - -local prettier = function() - local clients = vim.lsp.get_active_clients() - for _, client in pairs(clients) do - if (client.name == "svelte") then - local path = vim.api.nvim_buf_get_name(0):gsub("%(", "\\("):gsub("%)", "\\)") - local command = "npx prettier --write " .. path - vim.system(vim.split(command, " ")):wait() - vim.cmd("e") - end - if (client.name == "texlab") then - local path = vim.api.nvim_buf_get_name(0):gsub("%(", "\\("):gsub("%)", "\\)") - local command = "pdflatex " .. path - vim.system(vim.split(command, " ")):wait() - print("Done") - end - end -end - -vim.keymap.set("n", "", function() prettier() end, {})