diff options
| author | christianchiarulli <[email protected]> | 2021-07-13 00:48:37 -0400 | 
|---|---|---|
| committer | christianchiarulli <[email protected]> | 2021-07-13 00:48:37 -0400 | 
| commit | eceb656b4bdcd5bb4050c1e2566e95f97b99e20e (patch) | |
| tree | dfe178e1a6317d70f2daf5619a2d23e1cc33b1cf /lua | |
| parent | 4fad35a7e1a9d15317dada0625670707ffc5f9b0 (diff) | |
poc with local prettier working
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/core/formatter.lua | 71 | ||||
| -rw-r--r-- | lua/default-config.lua | 7 | ||||
| -rw-r--r-- | lua/lsp/tsserver-ls.lua | 21 | ||||
| -rw-r--r-- | lua/lv-utils/init.lua | 5 | ||||
| -rw-r--r-- | lua/plugins.lua | 7 | 
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 | 
