diff --git a/lua/codecraft/core/options.lua b/lua/codecraft/core/options.lua index a8d911b8889a8dc9360fcce3d09ef674685998e4..e39b61b4bef268f1480cead7e662dad172465e4b 100644 --- a/lua/codecraft/core/options.lua +++ b/lua/codecraft/core/options.lua @@ -3,18 +3,20 @@ local opt = vim.opt local o = vim.o local wo = vim.wo +-- Colorcolumn +o.colorcolumn = "79" + -- Set highlight on search o.hlsearch = false -- Make line numbers default wo.number = true -- activate numbers opt.nu = true -- right line number -opt.relativenumber = true -- relative +opt.relativenumber = true -- relative -- keep cursor in the middle of the screen opt.scrolloff = 25 - -- TABS o.expandtab = true o.tabstop = 4 @@ -27,12 +29,12 @@ opt.ignorecase = true opt.smartcase = true opt.incsearch = true --- appearance +-- appearance o.termguicolors = true -opt.background = 'dark' +opt.background = "dark" -- Enable mouse mode -o.mouse = 'a' +o.mouse = "a" -- Enable break indent o.breakindent = true @@ -50,18 +52,18 @@ opt.undofile = true -- Decrease update time o.updatetime = 250 -wo.signcolumn = 'yes' +wo.signcolumn = "yes" -- Set completeopt to have a better completion experience -o.completeopt = 'menuone,noselect' +o.completeopt = "menuone,noselect" -- [[ Highlight on yank ]] -- See `:help vim.highlight.on_yank()` -local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) -vim.api.nvim_create_autocmd('TextYankPost', { - callback = function() - vim.highlight.on_yank() - end, - group = highlight_group, - pattern = '*', +local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true }) +vim.api.nvim_create_autocmd("TextYankPost", { + callback = function() + vim.highlight.on_yank() + end, + group = highlight_group, + pattern = "*", }) diff --git a/lua/codecraft/plugin-setup.lua b/lua/codecraft/plugin-setup.lua index 853a76b5d226d217ee38014b4b23f782010e73a1..26d6cf770e12856909d60b5f74808f318bf6f9b2 100644 --- a/lua/codecraft/plugin-setup.lua +++ b/lua/codecraft/plugin-setup.lua @@ -8,6 +8,8 @@ if vim.fn.empty(vim.fn.glob(install_path)) > 0 then end require("packer").startup(function(use) + -- dressing + use({ "stevearc/dressing.nvim" }) -- VimBeGood use("ThePrimeagen/vim-be-good") -- telescope filebrowser @@ -87,7 +89,14 @@ require("packer").startup(function(use) use({ -- Autocompletion "hrsh7th/nvim-cmp", - requires = { "hrsh7th/cmp-nvim-lsp", "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip" }, + requires = { + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "hrsh7th/cmp-cmdline", + "L3MON4D3/LuaSnip", + "saadparwaiz1/cmp_luasnip", + }, }) use({ -- Highlight, edit, and navigate code diff --git a/lua/codecraft/plugin/lsp/completion.lua b/lua/codecraft/plugin/lsp/completion.lua index 69260a718738e4ce9dc57d376eb839695365b8fe..5ccb22ef9f4caa35aaf330faa7e48a0af8b256a2 100644 --- a/lua/codecraft/plugin/lsp/completion.lua +++ b/lua/codecraft/plugin/lsp/completion.lua @@ -24,5 +24,6 @@ cmp.setup({ { name = "luasnip" }, { name = "buffer" }, { name = "crates" }, + { name = "path" }, }, }) diff --git a/lua/codecraft/plugin/lsp/null-ls.lua b/lua/codecraft/plugin/lsp/null-ls.lua index 60aa274c9bd6be2685185d074ee79db9bcea2779..12977e2cfcca5f045efb8bc054b7c4c9da3bb1b5 100644 --- a/lua/codecraft/plugin/lsp/null-ls.lua +++ b/lua/codecraft/plugin/lsp/null-ls.lua @@ -1,5 +1,5 @@ -local null_ls = require("null-ls") -local mason_null_ls = require("mason-null-ls") +local null_ls = require('null-ls') +local mason_null_ls = require('mason-null-ls') local formatting = null_ls.builtins.formatting local diagnostics = null_ls.builtins.diagnostics @@ -7,38 +7,23 @@ local diagnostics = null_ls.builtins.diagnostics local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) local formatters_linters = { - prettier = {}, - rustfmt = {}, - black = {}, - stylua = {}, + prettier = {}, + rustfmt = {}, + black = {}, } mason_null_ls.setup({ - ensure_installed = vim.tbl_keys(formatters_linters), + ensure_installed = vim.tbl_keys(formatters_linters) }) -null_ls.setup({ - sources = { - formatting.prettier, - formatting.rustfmt, - formatting.black, - formatting.stylua, - }, - on_attach = function(current_client, bufnr) - if current_client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - vim.lsp.buf.format({ - filter = function(client) - -- only use null-ls for formatting instead of lsp server - return client.name == "null-ls" - end, - bufnr = bufnr, - }) - end, - }) - end - end, +null_ls.setup ({ + sources = { + formatting.prettier, + formatting.rustfmt, + formatting.black, + }, + on_attach = function(current_client, bufnr) + if current_client.supports_method("textDocument/formatting") then + vim.api.nvim_buf_set_keymap(bufnr,"n", "<C-y>", '<CMD>lua vim.lsp.buf.format({ async = true })<CR>', { }) + end + end, })