aboutsummaryrefslogtreecommitdiff
path: root/configs/nvim/lua/crupest
diff options
context:
space:
mode:
Diffstat (limited to 'configs/nvim/lua/crupest')
-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
5 files changed, 64 insertions, 10 deletions
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,