aboutsummaryrefslogtreecommitdiff
path: root/lua/kickstart/plugins/autoformat.lua
diff options
context:
space:
mode:
authorDamjan 9000 <damjan.9000@gmail.com>2024-02-26 20:46:46 +0100
committerDamjan 9000 <damjan.9000@gmail.com>2024-02-26 21:15:29 +0100
commit1ff3a155aab8ef8f9d14b51c382319fcd14e4da3 (patch)
treeff8e7695094365a18c3ca21bda1bd3f0bcf83444 /lua/kickstart/plugins/autoformat.lua
parent4e7e6642a6a5b76c0dbb0e86748fcb12b4c95012 (diff)
parent8b5d48a199c02658e399f5b43ff8d06df1ede7fb (diff)
Merge 'upstream/master' rewrite: slimmer, trimmer and more lazy kickstart.nvim
Diffstat (limited to 'lua/kickstart/plugins/autoformat.lua')
-rw-r--r--lua/kickstart/plugins/autoformat.lua74
1 files changed, 0 insertions, 74 deletions
diff --git a/lua/kickstart/plugins/autoformat.lua b/lua/kickstart/plugins/autoformat.lua
deleted file mode 100644
index bc56b15..0000000
--- a/lua/kickstart/plugins/autoformat.lua
+++ /dev/null
@@ -1,74 +0,0 @@
--- autoformat.lua
---
--- Use your language server to automatically format your code on save.
--- Adds additional commands as well to manage the behavior
-
-return {
- 'neovim/nvim-lspconfig',
- config = function()
- -- Switch for controlling whether you want autoformatting.
- -- Use :KickstartFormatToggle to toggle autoformatting on or off
- local format_is_enabled = true
- vim.api.nvim_create_user_command('KickstartFormatToggle', function()
- format_is_enabled = not format_is_enabled
- print('Setting autoformatting to: ' .. tostring(format_is_enabled))
- end, {})
-
- -- Create an augroup that is used for managing our formatting autocmds.
- -- We need one augroup per client to make sure that multiple clients
- -- can attach to the same buffer without interfering with each other.
- local _augroups = {}
- local get_augroup = function(client)
- if not _augroups[client.id] then
- local group_name = 'kickstart-lsp-format-' .. client.name
- local id = vim.api.nvim_create_augroup(group_name, { clear = true })
- _augroups[client.id] = id
- end
-
- return _augroups[client.id]
- end
-
- -- Whenever an LSP attaches to a buffer, we will run this function.
- --
- -- See `:help LspAttach` for more information about this autocmd event.
- vim.api.nvim_create_autocmd('LspAttach', {
- group = vim.api.nvim_create_augroup('kickstart-lsp-attach-format', { clear = true }),
- -- This is where we attach the autoformatting for reasonable clients
- callback = function(args)
- local client_id = args.data.client_id
- local client = vim.lsp.get_client_by_id(client_id)
- local bufnr = args.buf
-
- -- Only attach to clients that support document formatting
- if not client.server_capabilities.documentFormattingProvider then
- return
- end
-
- -- Tsserver usually works poorly. Sorry you work with bad languages
- -- You can remove this line if you know what you're doing :)
- if client.name == 'tsserver' then
- return
- end
-
- -- Create an autocmd that will run *before* we save the buffer.
- -- Run the formatting command for the LSP that has just attached.
- vim.api.nvim_create_autocmd('BufWritePre', {
- group = get_augroup(client),
- buffer = bufnr,
- callback = function()
- if not format_is_enabled then
- return
- end
-
- vim.lsp.buf.format {
- async = false,
- filter = function(c)
- return c.id == client.id
- end,
- }
- end,
- })
- end,
- })
- end,
-}