summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorchristianchiarulli <[email protected]>2021-07-13 00:48:37 -0400
committerchristianchiarulli <[email protected]>2021-07-13 00:48:37 -0400
commiteceb656b4bdcd5bb4050c1e2566e95f97b99e20e (patch)
treedfe178e1a6317d70f2daf5619a2d23e1cc33b1cf /lua
parent4fad35a7e1a9d15317dada0625670707ffc5f9b0 (diff)
poc with local prettier working
Diffstat (limited to 'lua')
-rw-r--r--lua/core/formatter.lua71
-rw-r--r--lua/default-config.lua7
-rw-r--r--lua/lsp/tsserver-ls.lua21
-rw-r--r--lua/lv-utils/init.lua5
-rw-r--r--lua/plugins.lua7
5 files changed, 69 insertions, 42 deletions
diff --git a/lua/core/formatter.lua b/lua/core/formatter.lua
index ad40dd21..50dcb654 100644
--- a/lua/core/formatter.lua
+++ b/lua/core/formatter.lua
@@ -11,48 +11,45 @@ if O.format_on_save then
}
end
--- check if formatter has been defined for the language or not
-local function formatter_exists(lang_formatter)
- if lang_formatter == nil then
- return false
- end
- if lang_formatter.exe == nil or lang_formatter.args == nil then
- return false
- end
- return true
-end
+-- -- check if formatter has been defined for the language or not
+-- local function formatter_exists(lang_formatter)
+-- if lang_formatter == nil then
+-- return false
+-- end
+-- if lang_formatter.exe == nil or lang_formatter.args == nil then
+-- return false
+-- end
+-- return true
+-- end
-- returns default formatter for given language
-local function formatter_return(lang_formatter)
- return {
- exe = lang_formatter.exe,
- args = lang_formatter.args,
- stdin = not (lang_formatter.stdin ~= nil),
- }
-end
+-- local function formatter_return(lang_formatter)
+-- return {
+-- exe = lang_formatter.exe,
+-- args = lang_formatter.args,
+-- stdin = not (lang_formatter.stdin ~= nil),
+-- }
+-- end
-- fill a table like this -> {rust: {exe:"sth",args:{"a","b"},stdin=true},go: {}...}
-local formatter_filetypes = {}
-for k, v in pairs(O.lang) do
- if formatter_exists(v.formatter) then
- local keys = v.filetypes
- if keys == nil then
- keys = { k }
- end
- for _, l in pairs(keys) do
- formatter_filetypes[l] = {
- function()
- return formatter_return(v.formatter)
- end,
- }
- end
- end
-end
+-- local formatter_filetypes = {}
+-- for k, v in pairs(O.lang) do
+-- if formatter_exists(v.formatter) then
+-- local keys = v.filetypes
+-- if keys == nil then
+-- keys = { k }
+-- end
+-- for _, l in pairs(keys) do
+-- formatter_filetypes[l] = {
+-- function()
+-- return formatter_return(v.formatter)
+-- end,
+-- }
+-- end
+-- end
+-- end
-require("formatter").setup {
- logging = false,
- filetype = formatter_filetypes,
-}
+require("formatter").setup {}
if not O.format_on_save then
vim.cmd [[if exists('#autoformat#BufWritePost')
diff --git a/lua/default-config.lua b/lua/default-config.lua
index dcad7b3d..e55f44c0 100644
--- a/lua/default-config.lua
+++ b/lua/default-config.lua
@@ -79,6 +79,11 @@ O = {
{ "FileType", "qf", "set nobuflisted" },
},
+ formatters = {
+ filetype = {},
+ },
+
+ -- TODO move all of this into lang specific files, only require when using
lang = {
cmake = {
formatter = {
@@ -113,7 +118,7 @@ O = {
docker = {},
efm = {},
elm = {},
- emmet = { active = true },
+ emmet = { active = false },
elixir = {},
graphql = {},
go = {
diff --git a/lua/lsp/tsserver-ls.lua b/lua/lsp/tsserver-ls.lua
index d7c4ec3c..c95b7810 100644
--- a/lua/lsp/tsserver-ls.lua
+++ b/lua/lsp/tsserver-ls.lua
@@ -1,3 +1,24 @@
+vim.cmd "let proj = FindRootDirectory()"
+print(vim.api.nvim_get_var "proj")
+local root_dir = vim.api.nvim_get_var "proj"
+O.formatters.filetype["javascriptreact"] = {
+ -- vim.cmd "let root_dir "
+ -- prettier
+ function()
+ return {
+ exe = root_dir .. "/node_modules/.bin/prettier",
+ -- TODO: append to this for args don't overwrite
+ args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0), "--single-quote" },
+ stdin = true,
+ }
+ end,
+}
+
+require("formatter.config").set_defaults {
+ logging = false,
+ filetype = O.formatters.filetype,
+}
+
if require("lv-utils").check_lsp_client_active "tsserver" then
return
end
diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua
index 55890043..d2d23cfb 100644
--- a/lua/lv-utils/init.lua
+++ b/lua/lv-utils/init.lua
@@ -42,6 +42,11 @@ function lv_utils.define_augroups(definitions) -- {{{1
end
end
+function lv_utils.unrequire(m)
+ package.loaded[m] = nil
+ _G[m] = nil
+end
+
lv_utils.define_augroups {
_general_settings = {
diff --git a/lua/plugins.lua b/lua/plugins.lua
index d61339ae..85db0d0d 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -82,10 +82,9 @@ return require("packer").startup(function(use)
-- Formatter.nvim
use {
"mhartington/formatter.nvim",
- config = function()
- require "core.formatter"
- end,
- event = "BufRead",
+ -- config = function()
+ -- require "core.formatter"
+ -- end,
}
-- NvimTree