diff options
author | crupest <crupest@outlook.com> | 2023-10-02 00:02:38 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-10-02 23:29:00 +0800 |
commit | 03404ef38f0763773d5bb77502062cce444898c1 (patch) | |
tree | c2cb7a3d9465ab5054fca4af92f9f643d4c1d758 | |
parent | 66ceacf580d7d2d7f5893dd4bae993b7f135ae14 (diff) | |
download | crupest-03404ef38f0763773d5bb77502062cce444898c1.tar.gz crupest-03404ef38f0763773d5bb77502062cce444898c1.tar.bz2 crupest-03404ef38f0763773d5bb77502062cce444898c1.zip |
Update nvim configs.
-rw-r--r-- | configs/nvim/init.lua | 43 | ||||
-rw-r--r-- | configs/nvim/lua/crupest/nvim/lsp/csharp.lua | 3 | ||||
-rw-r--r-- | configs/nvim/lua/crupest/nvim/lsp/frontend.lua | 2 | ||||
-rw-r--r-- | configs/nvim/lua/crupest/nvim/plugins/formatter.lua | 51 | ||||
-rw-r--r-- | configs/nvim/lua/crupest/system/find.lua | 5 | ||||
-rw-r--r-- | configs/nvim/lua/crupest/system/fs.lua | 13 |
6 files changed, 65 insertions, 52 deletions
diff --git a/configs/nvim/init.lua b/configs/nvim/init.lua index ad41c20..de2f900 100644 --- a/configs/nvim/init.lua +++ b/configs/nvim/init.lua @@ -89,48 +89,7 @@ require("toggleterm").setup { require("nvim-autopairs").setup {} -- setup formatter -local prettier_formatter = function() - local current_buffer = vim.api.nvim_buf_get_name(0) - local prettier_exe = require("crupest.system").find_npm_exe(current_buffer, "prettier") or "prettier" - - if vim.fn.has("win32") ~= 0 then - local escape = require("crupest.system").escape_space - current_buffer = escape(current_buffer) - prettier_exe = escape(prettier_exe) - end - - return { - exe = prettier_exe, - args = { - "--stdin-filepath", - current_buffer - }, - stdin = true, - } -end - -require("formatter").setup { - filetype = { - html = { - prettier_formatter - }, - css = { - prettier_formatter - }, - javascript = { - prettier_formatter - }, - javascriptreact = { - prettier_formatter - }, - typescript = { - prettier_formatter - }, - typescriptreact = { - prettier_formatter - } - } -} +require("crupest.nvim.plugins.formatter").setup_formatter() -- setup lint local lint = require("crupest.nvim.plugins.lint") diff --git a/configs/nvim/lua/crupest/nvim/lsp/csharp.lua b/configs/nvim/lua/crupest/nvim/lsp/csharp.lua index b06b9cc..413e41d 100644 --- a/configs/nvim/lua/crupest/nvim/lsp/csharp.lua +++ b/configs/nvim/lua/crupest/nvim/lsp/csharp.lua @@ -1,7 +1,7 @@ local lspconfig = require("lspconfig"); local capabilities = require("cmp_nvim_lsp").default_capabilities() -local is_win = vim.fn.has("win32") ~= 0 +local is_win = require("crupest.system").is_win local function setup_lsp_csharp() local omnisharp_cmd = nil @@ -61,4 +61,3 @@ end return { setup_lsp_csharp = setup_lsp_csharp } - diff --git a/configs/nvim/lua/crupest/nvim/lsp/frontend.lua b/configs/nvim/lua/crupest/nvim/lsp/frontend.lua index 7ec094e..63e2fdf 100644 --- a/configs/nvim/lua/crupest/nvim/lsp/frontend.lua +++ b/configs/nvim/lua/crupest/nvim/lsp/frontend.lua @@ -13,7 +13,7 @@ local function setup_lsp_frontend() lspconfig.tsserver.setup { capabilities = capabilities, on_new_config = function(new_config, new_root_dir) - local local_tsserver = require("crupest-util").find_npm_exe(new_root_dir, "typescript-language-server"); + local local_tsserver = require("crupest.system.find").find_npm_exe(new_root_dir, "typescript-language-server"); if local_tsserver then new_config.cmd = { local_tsserver, "--stdio" } end diff --git a/configs/nvim/lua/crupest/nvim/plugins/formatter.lua b/configs/nvim/lua/crupest/nvim/plugins/formatter.lua new file mode 100644 index 0000000..4bbb2ac --- /dev/null +++ b/configs/nvim/lua/crupest/nvim/plugins/formatter.lua @@ -0,0 +1,51 @@ +local fs = require("crupest.system.fs") +local find_npm_exe = require("crupest.system.find").find_npm_exe; + +local function setup_formatter() + local prettier_formatter = function() + local current_buffer = vim.api.nvim_buf_get_name(0) + local prettier_exe = find_npm_exe(current_buffer, "prettier") or "prettier" + + if vim.fn.has("win32") ~= 0 then + local escape = fs.escape_space + current_buffer = escape(current_buffer) + prettier_exe = escape(prettier_exe) + end + + return { + exe = prettier_exe, + args = { + "--stdin-filepath", + current_buffer + }, + stdin = true, + } + end + + require("formatter").setup { + filetype = { + html = { + prettier_formatter + }, + css = { + prettier_formatter + }, + javascript = { + prettier_formatter + }, + javascriptreact = { + prettier_formatter + }, + typescript = { + prettier_formatter + }, + typescriptreact = { + prettier_formatter + } + } + } +end + +return { + setup_formatter = setup_formatter +} diff --git a/configs/nvim/lua/crupest/system/find.lua b/configs/nvim/lua/crupest/system/find.lua index 857c6e7..16237ec 100644 --- a/configs/nvim/lua/crupest/system/find.lua +++ b/configs/nvim/lua/crupest/system/find.lua @@ -42,14 +42,9 @@ local function find_npm_exe(path, exe) return nil end -local function escape_space(str) - return (string.gsub(str, " ", "\\ " )) -end - return { get_exe = get_exe, find_node_modules = find_node_modules, find_npm_exe = find_npm_exe, - escape_space = escape_space } diff --git a/configs/nvim/lua/crupest/system/fs.lua b/configs/nvim/lua/crupest/system/fs.lua index b52a822..c879239 100644 --- a/configs/nvim/lua/crupest/system/fs.lua +++ b/configs/nvim/lua/crupest/system/fs.lua @@ -3,11 +3,19 @@ local function clean_path(path) end local function full_path(name) - return vim.fn.fnamemodify(name, ":p:gs?\\?/?") + local path = vim.fn.fnamemodify(name, ":p:gs?\\?/?") + if string.sub(path, string.len(path)) == '/' then + path = string.sub(path, 1, string.len(path) - 1) + end + return path +end + +local function escape_space(str) + return (string.gsub(str, " ", "\\ ")) end local function path_get_dir(path) - return vim.fn.fnamemodify(path, ":p:h:gs?\\?/?") + return vim.fn.fnamemodify(full_path(path), ":h") end local function walk_up(path, func) @@ -78,6 +86,7 @@ end return { clean_path = clean_path, full_path = full_path, + escape_space = escape_space, path_get_dir = path_get_dir, walk_up = walk_up, exist = exist, |