aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-10-02 00:02:38 +0800
committercrupest <crupest@outlook.com>2023-10-02 23:29:00 +0800
commit03404ef38f0763773d5bb77502062cce444898c1 (patch)
treec2cb7a3d9465ab5054fca4af92f9f643d4c1d758
parent66ceacf580d7d2d7f5893dd4bae993b7f135ae14 (diff)
downloadcrupest-03404ef38f0763773d5bb77502062cce444898c1.tar.gz
crupest-03404ef38f0763773d5bb77502062cce444898c1.tar.bz2
crupest-03404ef38f0763773d5bb77502062cce444898c1.zip
Update nvim configs.
-rw-r--r--configs/nvim/init.lua43
-rw-r--r--configs/nvim/lua/crupest/nvim/lsp/csharp.lua3
-rw-r--r--configs/nvim/lua/crupest/nvim/lsp/frontend.lua2
-rw-r--r--configs/nvim/lua/crupest/nvim/plugins/formatter.lua51
-rw-r--r--configs/nvim/lua/crupest/system/find.lua5
-rw-r--r--configs/nvim/lua/crupest/system/fs.lua13
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,