basic surgery
This commit is contained in:
parent
e3ad1d08f6
commit
3e4b37345d
63 changed files with 263 additions and 755 deletions
36
init.lua
36
init.lua
|
@ -1,9 +1,31 @@
|
|||
if vim.fn.has('nvim-0.11') == 0 then
|
||||
error('Need Neovim v0.11+ (Nightly) in order to run Cosmic!')
|
||||
end
|
||||
local cosmic_modules = {
|
||||
'core.editor',
|
||||
'core.pluginsInit',
|
||||
'core.commands',
|
||||
'lsp',
|
||||
-- load mappings only after editor configs are loaded
|
||||
'core.mappings',
|
||||
}
|
||||
|
||||
local ok, err = pcall(require, 'cosmic')
|
||||
|
||||
if not ok then
|
||||
error(('Error loading core...\n\n%s'):format(err))
|
||||
-- set up lazy.nvim to install plugins
|
||||
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
'git',
|
||||
'clone',
|
||||
'--filter=blob:none',
|
||||
'--single-branch',
|
||||
'https://github.com/folke/lazy.nvim.git',
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.runtimepath:prepend(lazypath)
|
||||
|
||||
-- set up cosmicnvim
|
||||
for _, mod in ipairs(cosmic_modules) do
|
||||
local ok, err = pcall(require, mod)
|
||||
-- config files may or may not be present
|
||||
if not ok then
|
||||
error(('Error loading %s...\n\n%s'):format(mod, err))
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,6 +7,6 @@ vim.api.nvim_create_autocmd('VimResized', {
|
|||
})
|
||||
|
||||
vim.cmd([[
|
||||
command! CosmicUpdate lua require('cosmic.utils.cosmic').update()
|
||||
command! CosmicDisableFormatOnSave lua require('cosmic.utils.lsp').toggle_format_on_save()
|
||||
command! CosmicUpdate lua require('utils.cosmic').update()
|
||||
command! CosmicDisableFormatOnSave lua require('utils.lsp').toggle_format_on_save()
|
||||
]])
|
|
@ -1,4 +1,4 @@
|
|||
local map = require('cosmic.utils').set_keymap
|
||||
local map = require('utils').set_keymap
|
||||
|
||||
-- Quickfix mappings
|
||||
map('n', '<leader>ck', ':cexpr []<cr>', { desc = 'Clear list' })
|
|
@ -1,7 +1,7 @@
|
|||
local u = require('cosmic.utils.cosmic')
|
||||
local user_config = require('cosmic.core.user')
|
||||
local u = require('utils.cosmic')
|
||||
local user_config = require('core.user')
|
||||
|
||||
require('lazy').setup('cosmic.plugins', {
|
||||
require('lazy').setup('plugins', {
|
||||
lockfile = u.get_install_dir() .. '/lazy-lock.json',
|
||||
defaults = { lazy = true },
|
||||
ui = {
|
19
lua/core/user.lua
Normal file
19
lua/core/user.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
local config = {
|
||||
border = 'none',
|
||||
disable_builtin_plugins = {},
|
||||
add_plugins = {},
|
||||
plugins = {},
|
||||
lsp = {
|
||||
inlay_hint = false,
|
||||
format_timeout = 500,
|
||||
rename_notification = true,
|
||||
-- table of callbacks pushed via plugins
|
||||
on_attach_mappings = {},
|
||||
},
|
||||
}
|
||||
|
||||
function config.lsp.add_on_attach_mapping(callback)
|
||||
table.insert(config.lsp.on_attach_mappings, callback)
|
||||
end
|
||||
|
||||
return config
|
|
@ -1,124 +0,0 @@
|
|||
-- Override Cosmic configuration options
|
||||
|
||||
local config = {
|
||||
-- See :h nvim_open_win for possible border options
|
||||
border = 'rounded',
|
||||
-- LSP settings
|
||||
lsp = {
|
||||
-- Enable/disable inlay hints
|
||||
inlay_hint = false,
|
||||
-- Time in MS before format timeout
|
||||
format_timeout = 3000,
|
||||
-- Set to false to disable rename notification
|
||||
rename_notification = true,
|
||||
-- Enable non-default servers, use default lsp config
|
||||
-- Check here for configs that will be used by default: https://github.com/williamboman/nvim-lsp-installer/tree/main/lua/nvim-lsp-installer/servers
|
||||
|
||||
-- lsp servers that should be installed
|
||||
ensure_installed = {
|
||||
'rust_analyzer',
|
||||
},
|
||||
|
||||
-- See Cosmic defaults cosmic/plugins/null-ls/init.lua and https://github.com/jose-elias-alvarez/null-ls.nvim/
|
||||
-- If adding additional sources, be sure to also copy the defaults that you would like to preserve from cosmic/plugins/null-ls/init.lua
|
||||
null_ls = {
|
||||
-- Disable default list of sources provided by CosmicNvim
|
||||
default_cosmic_sources = false,
|
||||
--disable formatting
|
||||
format_on_save = false,
|
||||
-- Add additional sources here
|
||||
get_sources = function()
|
||||
local null_ls = require('null-ls')
|
||||
return {
|
||||
null_ls.builtins.diagnostics.shellcheck,
|
||||
null_ls.builtins.diagnostics.actionlint.with({
|
||||
condition = function()
|
||||
local cwd = vim.fn.expand('%:p:.')
|
||||
return cwd:find('.github/workflows')
|
||||
end,
|
||||
}),
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- lsp servers that should be enabled
|
||||
servers = {
|
||||
-- Enable rust_analyzer
|
||||
rust_analyzer = true,
|
||||
|
||||
-- Enable ts_ls w/custom settings
|
||||
ts_ls = {
|
||||
-- Disable formatting (defaults to true)
|
||||
format_on_save = false,
|
||||
-- OR add/override server options
|
||||
opts = {
|
||||
on_attach = function(client, bufnr) end,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
},
|
||||
settings = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- adjust default plugin settings
|
||||
plugins = {
|
||||
-- See https://github.com/rmagatti/auto-session#%EF%B8%8F-configuration
|
||||
auto_session = {},
|
||||
-- https://github.com/numToStr/Comment.nvim#configuration-optional
|
||||
comment_nvim = {},
|
||||
-- See https://github.com/CosmicNvim/cosmic-ui#%EF%B8%8F-configuration
|
||||
cosmic_ui = {},
|
||||
-- See :h vim.diagnostic.config for all diagnostic configuration options
|
||||
diagnostic = {},
|
||||
-- See :h gitsigns-usage
|
||||
gitsigns = {},
|
||||
-- See https://github.com/nvim-lualine/lualine.nvim#default-configuration
|
||||
lualine = {},
|
||||
-- See https://github.com/L3MON4D3/LuaSnip/blob/577045e9adf325e58f690f4d4b4a293f3dcec1b3/README.md#config
|
||||
luasnip = {},
|
||||
-- See :h telescope.setup
|
||||
telescope = {},
|
||||
-- See https://github.com/folke/todo-comments.nvim#%EF%B8%8F-configuration
|
||||
todo_comments = {},
|
||||
-- See :h nvim-treesitter-quickstart
|
||||
treesitter = {},
|
||||
-- See :h cmp-usage
|
||||
nvim_cmp = {},
|
||||
-- See :h nvim-tree.setup
|
||||
nvim_tree = {},
|
||||
},
|
||||
|
||||
-- Disable plugins default enabled by CosmicNvim
|
||||
disable_builtin_plugins = {
|
||||
--[[
|
||||
'auto-session',
|
||||
'colorizer',
|
||||
'comment-nvim',
|
||||
'dashboard',
|
||||
'fugitive',
|
||||
'gitsigns',
|
||||
'lualine',
|
||||
'noice',
|
||||
'nvim-cmp',
|
||||
'nvim-tree',
|
||||
'telescope',
|
||||
'terminal',
|
||||
'theme',
|
||||
'todo-comments',
|
||||
'treesitter',
|
||||
]]
|
||||
},
|
||||
|
||||
-- Add additional plugins (lazy.nvim)
|
||||
add_plugins = {
|
||||
'ggandor/lightspeed.nvim',
|
||||
{
|
||||
'romgrk/barbar.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return config
|
|
@ -1,31 +0,0 @@
|
|||
-- Override Cosmic editor options
|
||||
|
||||
local g = vim.g
|
||||
local map = require('cosmic.utils').set_keymap
|
||||
local opt = vim.opt
|
||||
|
||||
-- Default leader is <space>
|
||||
g.mapleader = ','
|
||||
|
||||
-- Default indent = 2
|
||||
opt.shiftwidth = 4
|
||||
opt.softtabstop = 4
|
||||
opt.tabstop = 4
|
||||
|
||||
-- Add additional keymaps or disable existing ones
|
||||
-- To view maps set, use `:Telescope keymaps`
|
||||
-- or `:map`, `:map <leader>`
|
||||
|
||||
-- Example: Additional insert mapping:
|
||||
map('i', 'jj', '<esc>')
|
||||
|
||||
-- Mapping options:
|
||||
-- map('n', ...)
|
||||
-- map('v', ...)
|
||||
-- map('i', ...)
|
||||
-- map('t', ...)
|
||||
|
||||
-- Example: Disable find files keymap
|
||||
-- vim.keymap.del('n', '<leader>f')
|
||||
|
||||
-- See :h vim.keymap for more info
|
|
@ -1,16 +0,0 @@
|
|||
# Configuration
|
||||
|
||||
There are two main configuration files that you may want to create.
|
||||
|
||||
- cosmic/config/config.lua
|
||||
- cosmic/config/editor.lua
|
||||
|
||||
Please look at the examples in this directory in order to get started.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# from project root
|
||||
cp ./lua/cosmic/config/examples/config.lua ./lua/cosmic/config/config.lua
|
||||
cp ./lua/cosmic/config/examples/editor.lua ./lua/cosmic/config/editor.lua
|
||||
```
|
|
@ -1,32 +0,0 @@
|
|||
local cosmic_modules = {
|
||||
'cosmic.core.editor',
|
||||
'cosmic.core.pluginsInit',
|
||||
'cosmic.core.commands',
|
||||
'cosmic.lsp',
|
||||
'cosmic.config.editor',
|
||||
-- load mappings only after editor configs are loaded
|
||||
'cosmic.core.mappings',
|
||||
}
|
||||
|
||||
-- set up lazy.nvim to install plugins
|
||||
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
'git',
|
||||
'clone',
|
||||
'--filter=blob:none',
|
||||
'--single-branch',
|
||||
'https://github.com/folke/lazy.nvim.git',
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.runtimepath:prepend(lazypath)
|
||||
|
||||
-- set up cosmicnvim
|
||||
for _, mod in ipairs(cosmic_modules) do
|
||||
local ok, err = pcall(require, mod)
|
||||
-- cosmic.config files may or may not be present
|
||||
if not ok and not mod:find('cosmic.config') then
|
||||
error(('Error loading %s...\n\n%s'):format(mod, err))
|
||||
end
|
||||
end
|
|
@ -1,65 +0,0 @@
|
|||
-- DEFAULT USER SETTINGS
|
||||
local ok, user_config = pcall(require, 'cosmic.config.config')
|
||||
|
||||
if not ok then
|
||||
user_config = {}
|
||||
end
|
||||
|
||||
local default_config = {
|
||||
border = 'rounded',
|
||||
disable_builtin_plugins = {},
|
||||
add_plugins = {},
|
||||
plugins = {},
|
||||
lsp = {
|
||||
inlay_hint = false,
|
||||
format_timeout = 500,
|
||||
rename_notification = true,
|
||||
-- table of callbacks pushed via plugins
|
||||
on_attach_mappings = {},
|
||||
-- lsp servers that should be installed
|
||||
ensure_installed = {
|
||||
'astro',
|
||||
'cssls',
|
||||
'eslint',
|
||||
'eslint',
|
||||
'gopls',
|
||||
'graphql',
|
||||
'html',
|
||||
'jsonls',
|
||||
'lua_ls',
|
||||
'prettierd',
|
||||
'pyright',
|
||||
'svelte',
|
||||
'tailwindcss',
|
||||
'ts_ls',
|
||||
'yamlls',
|
||||
},
|
||||
-- lsp servers that should be enabled
|
||||
servers = {
|
||||
astro = true,
|
||||
tailwindcss = true,
|
||||
eslint = true,
|
||||
jsonls = {
|
||||
format_on_save = false,
|
||||
},
|
||||
pyright = true,
|
||||
lua_ls = {
|
||||
format_on_save = false,
|
||||
},
|
||||
gopls = true,
|
||||
html = true,
|
||||
ts_ls = {
|
||||
format_on_save = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local u = require('cosmic.utils')
|
||||
local config = u.merge(default_config, user_config)
|
||||
|
||||
function config.lsp.add_on_attach_mapping(callback)
|
||||
table.insert(config.lsp.on_attach_mappings, callback)
|
||||
end
|
||||
|
||||
return config
|
|
@ -1 +0,0 @@
|
|||
require('cosmic.core')
|
|
@ -1,14 +0,0 @@
|
|||
local defaults = require('cosmic.lsp.servers.defaults')
|
||||
local can_format_on_save = require('cosmic.utils.lsp').can_client_format_on_save
|
||||
return {
|
||||
on_attach = function(client, bufnr)
|
||||
defaults.on_attach(client, bufnr)
|
||||
if can_format_on_save(client) then
|
||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
buffer = bufnr,
|
||||
command = 'EslintFixAll',
|
||||
group = defaults.augroup,
|
||||
})
|
||||
end
|
||||
end,
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
local path = require('lspconfig/util').path
|
||||
|
||||
local function get_python_path(workspace)
|
||||
-- Use activated virtualenv.
|
||||
if vim.env.VIRTUAL_ENV then
|
||||
return path.join(vim.env.VIRTUAL_ENV, 'bin', 'python')
|
||||
end
|
||||
|
||||
-- Find and use virtualenv in workspace directory.
|
||||
for _, pattern in ipairs({ '*', '.*' }) do
|
||||
local match = vim.fn.glob(path.join(workspace, pattern, 'pyvenv.cfg'))
|
||||
if match ~= '' then
|
||||
return path.join(path.dirname(match), 'bin', 'python')
|
||||
end
|
||||
end
|
||||
|
||||
-- Fallback to system Python.
|
||||
return exepath('python3') or exepath('python') or 'python'
|
||||
end
|
||||
|
||||
return {
|
||||
settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
typeCheckingMode = 'off',
|
||||
useLibraryCodeForTypes = true,
|
||||
completeFunctionParens = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
before_init = function(_, config)
|
||||
config.settings.python.pythonPath = get_python_path(config.root_dir)
|
||||
end,
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
return {
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
config = function()
|
||||
local user_config = require('cosmic.core.user')
|
||||
require('mason').setup({
|
||||
ui = {
|
||||
border = user_config.border,
|
||||
},
|
||||
})
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = user_config.lsp.ensure_installed,
|
||||
})
|
||||
|
||||
-- set up lsp servers
|
||||
local u = require('cosmic.utils')
|
||||
local default_config = require('cosmic.lsp.servers.defaults')
|
||||
local lspconfig = require('lspconfig')
|
||||
|
||||
local start_server = function(server)
|
||||
local server_config = default_config
|
||||
|
||||
-- set up default cosmic options
|
||||
local ok, cosmic_server_config = pcall(require, 'cosmic.lsp.servers.' .. server)
|
||||
if ok then
|
||||
server_config = u.merge(server_config, cosmic_server_config)
|
||||
end
|
||||
|
||||
-- override options if user defines them
|
||||
if type(user_config.lsp.servers[server]) == 'table' and user_config.lsp.servers[server].opts ~= nil then
|
||||
server_config = u.merge(server_config, user_config.lsp.servers[server].opts)
|
||||
end
|
||||
|
||||
lspconfig[server].setup(server_config)
|
||||
end
|
||||
|
||||
for config_server, config_opt in pairs(user_config.lsp.servers) do
|
||||
if not config_opt == false then
|
||||
start_server(config_server)
|
||||
end
|
||||
end
|
||||
end,
|
||||
dependencies = {
|
||||
'williamboman/mason.nvim',
|
||||
},
|
||||
lazy = false,
|
||||
--[[ event = 'BufEnter', ]]
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local map = require('cosmic.utils').set_keymap
|
||||
|
||||
return {
|
||||
'folke/noice.nvim',
|
||||
config = function()
|
||||
local config = u.merge({
|
||||
presets = {
|
||||
lsp_doc_border = true,
|
||||
long_message_to_split = true,
|
||||
},
|
||||
views = {
|
||||
notify = {
|
||||
merge = true,
|
||||
},
|
||||
},
|
||||
messages = {
|
||||
-- NOTE: If you enable messages, then the cmdline is enabled automatically.
|
||||
-- This is a current Neovim limitation.
|
||||
enabled = true, -- enables the Noice messages UI
|
||||
view = 'mini', -- default view for messages
|
||||
view_error = 'notify', -- view for errors
|
||||
view_warn = 'notify', -- view for warnings
|
||||
view_history = 'messages', -- view for :messages
|
||||
view_search = 'virtualtext', -- view for search count messages. Set to `false` to disable
|
||||
},
|
||||
lsp = {
|
||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||
hover = {
|
||||
enabled = true,
|
||||
},
|
||||
signature = {
|
||||
enabled = true,
|
||||
},
|
||||
message = {
|
||||
-- Messages shown by lsp servers
|
||||
enabled = true,
|
||||
view = 'mini',
|
||||
opts = {},
|
||||
},
|
||||
override = {
|
||||
['vim.lsp.util.convert_input_to_markdown_lines'] = true,
|
||||
['vim.lsp.util.stylize_markdown'] = true,
|
||||
['cmp.entry.get_documentation'] = true,
|
||||
},
|
||||
},
|
||||
}, user_config.plugins.noice or {})
|
||||
|
||||
require('noice').setup(config)
|
||||
|
||||
map('n', '<c-j>', function()
|
||||
if not require('noice.lsp').scroll(4) then
|
||||
return '<c-j>'
|
||||
end
|
||||
end)
|
||||
|
||||
map('n', '<c-k>', function()
|
||||
if not require('noice.lsp').scroll(-4) then
|
||||
return '<c-k>'
|
||||
end
|
||||
end)
|
||||
end,
|
||||
event = 'VeryLazy',
|
||||
dependencies = {
|
||||
'MunifTanjim/nui.nvim',
|
||||
{ 'rcarriga/nvim-notify', opts = {
|
||||
timeout = 1000,
|
||||
fps = 60,
|
||||
} },
|
||||
},
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-lspconfig'),
|
||||
}
|
|
@ -1,63 +0,0 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local u = require('cosmic.utils')
|
||||
|
||||
-- set up args
|
||||
local args = {
|
||||
respect_buf_cwd = true,
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = true,
|
||||
icons = {
|
||||
hint = icons.hint,
|
||||
info = icons.info,
|
||||
warning = icons.warn,
|
||||
error = icons.error,
|
||||
},
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
},
|
||||
view = {
|
||||
width = 40,
|
||||
number = true,
|
||||
relativenumber = true,
|
||||
},
|
||||
git = {
|
||||
ignore = true,
|
||||
},
|
||||
renderer = {
|
||||
highlight_git = true,
|
||||
special_files = {},
|
||||
icons = {
|
||||
glyphs = {
|
||||
default = '',
|
||||
symlink = icons.symlink,
|
||||
git = icons.git,
|
||||
folder = icons.folder,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return {
|
||||
'kyazdani42/nvim-tree.lua',
|
||||
config = function()
|
||||
require('nvim-tree').setup(u.merge(args, user_config.plugins.nvim_tree or {}))
|
||||
end,
|
||||
init = function()
|
||||
local map = require('cosmic.utils').set_keymap
|
||||
|
||||
map('n', '<C-n>', ':NvimTreeToggle<CR>', { desc = 'Toggle Tree' })
|
||||
map('n', '<leader>nt', ':NvimTreeToggle<CR>', { desc = 'Toggle Tree' })
|
||||
map('n', '<leader>nr', ':NvimTreeRefresh<CR>', { desc = 'Refresh Tree' })
|
||||
end,
|
||||
cmd = {
|
||||
'NvimTreeClipboard',
|
||||
'NvimTreeFindFile',
|
||||
'NvimTreeOpen',
|
||||
'NvimTreeRefresh',
|
||||
'NvimTreeToggle',
|
||||
},
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nvim-tree'),
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
|
||||
return {
|
||||
'Equilibris/nx.nvim',
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
},
|
||||
opts = u.merge({
|
||||
-- See below for config options
|
||||
nx_cmd_root = 'yarn nx',
|
||||
}, user_config.plugins.nx or {}),
|
||||
-- Plugin will load when you use these keys
|
||||
keys = {
|
||||
{ '<leader>nx', '<cmd>Telescope nx actions<CR>', desc = 'nx actions' },
|
||||
},
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'nx'),
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
local M = {}
|
||||
|
||||
M.project_files = function()
|
||||
local opts = {} -- define here if you want to define something
|
||||
local ok = pcall(require('telescope.builtin').git_files, opts)
|
||||
if not ok then
|
||||
require('telescope.builtin').find_files(opts)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
|
@ -1,2 +0,0 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
return user_config.add_plugins
|
|
@ -1,84 +0,0 @@
|
|||
local icons = {
|
||||
rounded_left_filled = '',
|
||||
rounded_right_filled = '',
|
||||
arrow_left_filled = '', -- e0b2
|
||||
arrow_right_filled = '', -- e0b0
|
||||
arrow_left = '', -- e0b3
|
||||
arrow_right = '', -- e0b1
|
||||
ghost = '',
|
||||
cosmic = '💫',
|
||||
star = '★',
|
||||
scorpio = '♏︎',
|
||||
rocket = '🚀',
|
||||
warn = '',
|
||||
info = '',
|
||||
error = '',
|
||||
hint = '',
|
||||
perf = ' ',
|
||||
note = '',
|
||||
branch = '',
|
||||
file = '',
|
||||
dotdotdot = '…',
|
||||
information = '',
|
||||
symlink = '',
|
||||
line_number = '',
|
||||
debug = ' ',
|
||||
flame = ' ',
|
||||
check = ' ',
|
||||
trace = '✎',
|
||||
file1 = '',
|
||||
file2 = '',
|
||||
clock = '',
|
||||
word = '',
|
||||
diff_add = '',
|
||||
diff_modified = '',
|
||||
diff_remove = '',
|
||||
git = {
|
||||
unstaged = '✗',
|
||||
staged = '✓',
|
||||
unmerged = '',
|
||||
renamed = '➜',
|
||||
untracked = '★',
|
||||
deleted = '',
|
||||
ignored = '◌',
|
||||
},
|
||||
folder = {
|
||||
arrow_open = '',
|
||||
arrow_closed = '',
|
||||
default = '',
|
||||
open = '',
|
||||
empty = '',
|
||||
empty_open = '',
|
||||
symlink = '',
|
||||
symlink_open = '',
|
||||
},
|
||||
kind_icons = {
|
||||
Text = '',
|
||||
Method = 'm',
|
||||
Function = '',
|
||||
Constructor = '',
|
||||
Field = '',
|
||||
Variable = '',
|
||||
Class = '',
|
||||
Interface = '',
|
||||
Module = '',
|
||||
Property = '',
|
||||
Unit = '',
|
||||
Value = '',
|
||||
Enum = '',
|
||||
Keyword = '',
|
||||
Snippet = '',
|
||||
Color = '',
|
||||
File = '',
|
||||
Reference = '',
|
||||
Folder = '',
|
||||
EnumMember = '',
|
||||
Constant = '',
|
||||
Struct = '',
|
||||
Event = '',
|
||||
Operator = '',
|
||||
TypeParameter = '',
|
||||
},
|
||||
}
|
||||
|
||||
return icons
|
|
@ -1,4 +1,4 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
|
||||
local found = false
|
||||
for _, plugin in ipairs(user_config.add_plugins) do
|
|
@ -1,6 +1,6 @@
|
|||
local u = require('cosmic.utils')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local user_config = require('cosmic.core.user')
|
||||
local u = require('utils')
|
||||
local icons = require('utils.icons')
|
||||
local user_config = require('core.user')
|
||||
|
||||
local function format_diagnostic(diagnostic)
|
||||
local icon = icons.error
|
|
@ -1,4 +1,4 @@
|
|||
require('cosmic.lsp.diagnostics')
|
||||
require('cosmic.lsp.commands')
|
||||
require('lsp.diagnostics')
|
||||
require('lsp.commands')
|
||||
|
||||
-- LSP server initialization can be found in mason-lspconfig setup
|
|
@ -1,5 +1,5 @@
|
|||
local utils = require('cosmic.utils')
|
||||
local lsp_utils = require('cosmic.utils.lsp')
|
||||
local utils = require('utils')
|
||||
local lsp_utils = require('utils.lsp')
|
||||
local M = {}
|
||||
|
||||
-- Mappings.
|
||||
|
@ -57,7 +57,7 @@ function M.init(client, bufnr)
|
|||
buf_map(
|
||||
'n',
|
||||
'<leader>lwl',
|
||||
'<cmd>lua require("cosmic.utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))<cr>',
|
||||
'<cmd>lua require("utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))<cr>',
|
||||
{ desc = 'Show workspace folders' }
|
||||
)
|
||||
end
|
5
lua/lsp/servers.lua
Normal file
5
lua/lsp/servers.lua
Normal file
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
'eslint',
|
||||
'lua_ls',
|
||||
'ts_ls'
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
local M = {}
|
||||
local augroup_name = 'CosmicNvimLspFormat'
|
||||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local lsp_utils = require('cosmic.utils.lsp')
|
||||
local lsp_mappings = require('cosmic.lsp.mappings')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
local lsp_utils = require('utils.lsp')
|
||||
local lsp_mappings = require('lsp.mappings')
|
||||
|
||||
M.augroup = vim.api.nvim_create_augroup(augroup_name, { clear = true })
|
||||
|
||||
|
@ -24,7 +24,7 @@ function M.on_attach(client, bufnr)
|
|||
if client.supports_method('textDocument/formatting') then
|
||||
-- set up :LspFormat for clients that are capable
|
||||
vim.cmd(
|
||||
string.format("command! -nargs=? LspFormat lua require('cosmic.utils.lsp').buf_format(%s, <q-args>)", bufnr)
|
||||
string.format("command! -nargs=? LspFormat lua require('utils.lsp').buf_format(%s, <q-args>)", bufnr)
|
||||
)
|
||||
|
||||
-- set up auto format on save
|
||||
|
@ -34,15 +34,10 @@ function M.on_attach(client, bufnr)
|
|||
})
|
||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
callback = function()
|
||||
if lsp_utils.format_on_save_enabled then
|
||||
vim.lsp.buf.format({
|
||||
timeout_ms = user_config.lsp.format_timeout,
|
||||
bufnr = bufnr,
|
||||
filter = function()
|
||||
return lsp_utils.can_client_format_on_save(client)
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
buffer = bufnr,
|
||||
group = M.augroup,
|
12
lua/lsp/servers/eslint.lua
Normal file
12
lua/lsp/servers/eslint.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
local defaults = require('lsp.servers.defaults')
|
||||
|
||||
return {
|
||||
on_attach = function(client, bufnr)
|
||||
defaults.on_attach(client, bufnr)
|
||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
buffer = bufnr,
|
||||
command = 'EslintFixAll',
|
||||
group = defaults.augroup,
|
||||
})
|
||||
end,
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
local defaults = {
|
||||
pre_save_cmds = { 'NvimTreeClose', 'cclose', 'lua vim.notify.dismiss()' },
|
||||
|
@ -15,7 +15,7 @@ return {
|
|||
require('auto-session').setup(u.merge(defaults, user_config.plugins.auto_session or {}))
|
||||
end,
|
||||
init = function()
|
||||
require('cosmic.plugins.auto-session.mappings')
|
||||
require('plugins.auto-session.mappings')
|
||||
end,
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'auto-session'),
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
local map = require('cosmic.utils').set_keymap
|
||||
local map = require('utils').set_keymap
|
||||
|
||||
-- session
|
||||
map('n', '<leader>sl', '<cmd>silent RestoreSession<cr>', { desc = 'Restore session' })
|
||||
|
@ -6,6 +6,6 @@ map('n', '<leader>ss', '<cmd>SaveSession<cr>', { desc = 'Save session' })
|
|||
map(
|
||||
'n',
|
||||
'<leader>si',
|
||||
'<cmd>lua require("cosmic.utils.logger"):log("Session name: " .. require("auto-session-library").current_session_name())<cr>',
|
||||
'<cmd>lua require("utils.logger"):log("Session name: " .. require("auto-session-library").current_session_name())<cr>',
|
||||
{ desc = 'Print session' }
|
||||
)
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'norcalli/nvim-colorizer.lua',
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local utils = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local utils = require('utils')
|
||||
|
||||
local defaults = {
|
||||
border_style = 'rounded',
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local user_config = require('core.user')
|
||||
local icons = require('utils.icons')
|
||||
local g = vim.g
|
||||
|
||||
return {
|
||||
|
@ -12,7 +12,7 @@ return {
|
|||
g.dashboard_custom_section = {
|
||||
find_file = {
|
||||
description = { icons.file1 .. ' Find File <leader>ff' },
|
||||
command = 'lua require("cosmic.plugins.telescope.mappings").project_files()',
|
||||
command = 'lua require("plugins.telescope.mappings").project_files()',
|
||||
},
|
||||
file_explorer = {
|
||||
description = { icons.file2 .. ' File Manager <C-n> ' },
|
|
@ -1,4 +1,4 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
return {
|
||||
'tpope/vim-fugitive',
|
||||
cmd = 'Git',
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'lewis6991/gitsigns.nvim',
|
|
@ -1,4 +1,4 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
return {
|
||||
'folke/lazydev.nvim',
|
||||
ft = 'lua', -- only load on lua files
|
|
@ -1,7 +1,7 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local utils = require('cosmic.utils')
|
||||
local lsp_utils = require('cosmic.utils.lsp')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local user_config = require('core.user')
|
||||
local utils = require('utils')
|
||||
local lsp_utils = require('utils.lsp')
|
||||
local icons = require('utils.icons')
|
||||
|
||||
local custom_sections = {
|
||||
branch = { 'b:gitsigns_head', icon = icons.branch },
|
||||
|
@ -136,6 +136,5 @@ return {
|
|||
end,
|
||||
})
|
||||
end,
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'lualine'),
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'nvimtools/none-ls.nvim',
|
||||
|
@ -8,7 +8,7 @@ return {
|
|||
'gbprod/none-ls-shellcheck.nvim',
|
||||
},
|
||||
config = function()
|
||||
local defaults = require('cosmic.lsp.servers.defaults')
|
||||
local defaults = require('lsp.servers.defaults')
|
||||
local null_ls = require('null-ls')
|
||||
local config_opts = u.merge({
|
||||
default_cosmic_sources = true,
|
|
@ -1,7 +1,7 @@
|
|||
local cmp = require('cmp')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('cosmic.core.user')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local u = require('utils')
|
||||
local user_config = require('core.user')
|
||||
local icons = require('utils.icons')
|
||||
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||
|
||||
local user_has_luasnip = not vim.tbl_contains(user_config.disable_builtin_plugins, 'luasnip')
|
|
@ -1,10 +1,10 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'hrsh7th/nvim-cmp',
|
||||
config = function()
|
||||
require('cosmic.plugins.nvim-cmp.config')
|
||||
require('plugins.nvim-cmp.config')
|
||||
end,
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
26
lua/plugins/nvim-lspconfig/init.lua
Normal file
26
lua/plugins/nvim-lspconfig/init.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
local user_config = require('core.user')
|
||||
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
config = function()
|
||||
local u = require('utils')
|
||||
local default_config = require('lsp.servers.defaults')
|
||||
local lspconfig = require('lspconfig')
|
||||
|
||||
local start_server = function(server)
|
||||
local server_config = default_config
|
||||
|
||||
local ok, cosmic_server_config = pcall(require, 'lsp.servers.' .. server)
|
||||
if ok then
|
||||
server_config = u.merge(server_config, cosmic_server_config)
|
||||
end
|
||||
|
||||
lspconfig[server].setup(server_config)
|
||||
end
|
||||
|
||||
for _, server in pairs(require('lsp.servers')) do
|
||||
start_server(server)
|
||||
end
|
||||
end,
|
||||
lazy = false,
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
local actions = require('telescope.actions')
|
||||
local user_config = require('cosmic.core.user')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local icons = require('utils.icons')
|
||||
local u = require('utils')
|
||||
|
||||
local default_mappings = {
|
||||
n = {
|
||||
|
@ -49,7 +49,6 @@ local opts_flex = {
|
|||
|
||||
require('telescope').setup(u.merge({
|
||||
defaults = {
|
||||
prompt_prefix = '🔍 ',
|
||||
selection_caret = icons.folder.arrow_closed,
|
||||
file_ignore_patterns = {
|
||||
'.git/',
|
||||
|
@ -79,7 +78,7 @@ require('telescope').setup(u.merge({
|
|||
},
|
||||
pickers = {
|
||||
buffers = u.merge(opts_flex, {
|
||||
prompt_title = '✨ Search Buffers ✨',
|
||||
prompt_title = 'Search Buffers',
|
||||
mappings = u.merge({
|
||||
n = {
|
||||
['d'] = actions.delete_buffer,
|
||||
|
@ -111,7 +110,7 @@ require('telescope').setup(u.merge({
|
|||
mappings = default_mappings,
|
||||
}),
|
||||
find_files = u.merge(opts_flex, {
|
||||
prompt_title = '✨ Search Project ✨',
|
||||
prompt_title = 'Search Project',
|
||||
mappings = default_mappings,
|
||||
hidden = true,
|
||||
}),
|
||||
|
@ -119,16 +118,16 @@ require('telescope').setup(u.merge({
|
|||
mappings = default_mappings,
|
||||
}),
|
||||
git_files = u.merge(opts_flex, {
|
||||
prompt_title = '✨ Search Git Project ✨',
|
||||
prompt_title = 'Search Git Project',
|
||||
mappings = default_mappings,
|
||||
hidden = true,
|
||||
}),
|
||||
live_grep = u.merge(opts_flex, {
|
||||
prompt_title = '✨ Live Grep ✨',
|
||||
prompt_title = 'Live Grep',
|
||||
mappings = default_mappings,
|
||||
}),
|
||||
grep_string = u.merge(opts_vertical, {
|
||||
prompt_title = '✨ Grep String ✨',
|
||||
prompt_title = 'Grep String',
|
||||
mappings = default_mappings,
|
||||
}),
|
||||
},
|
|
@ -1,4 +1,4 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
dependencies = {
|
||||
|
@ -10,18 +10,14 @@ return {
|
|||
},
|
||||
},
|
||||
config = function()
|
||||
require('cosmic.plugins.telescope.config')
|
||||
require('plugins.telescope.config')
|
||||
end,
|
||||
init = function()
|
||||
-- normal mappings
|
||||
local u = require('cosmic.utils')
|
||||
local u = require('utils')
|
||||
local map = u.set_keymap
|
||||
|
||||
map('n', '<leader>ff', '', {
|
||||
callback = require('cosmic.plugins.telescope.utils').project_files,
|
||||
desc = 'Find file',
|
||||
})
|
||||
map('n', '<leader>fp', ':Telescope find_files<cr>', { desc = 'Find project file' })
|
||||
map('n', '<leader>ff', ':Telescope find_files<cr>', { desc = 'Find project file' })
|
||||
map('n', '<leader>fk', ':Telescope buffers<cr>', { desc = 'Find buffer' })
|
||||
map('n', '<leader>fs', ':Telescope live_grep<cr>', { desc = 'Grep string' })
|
||||
map('n', '<leader>fw', ':Telescope grep_string<cr>', { desc = 'Grep current word' })
|
||||
|
@ -30,7 +26,7 @@ return {
|
|||
map('n', '<leader>vc', ':Telescope git_commits<cr>', { desc = 'Git commits' })
|
||||
map('n', '<leader>vg', ':Telescope git_status<cr>', { desc = 'Git status' })
|
||||
|
||||
user_config.lsp.add_on_attach_mapping(function(client, bufnr)
|
||||
user_config.lsp.add_on_attach_mapping(function(_, bufnr)
|
||||
local buf_map = u.create_buf_map(bufnr)
|
||||
|
||||
buf_map('n', 'gd', '<cmd>Telescope lsp_definitions<cr>', { desc = 'Go to definition' })
|
||||
|
@ -43,12 +39,4 @@ return {
|
|||
end)
|
||||
end,
|
||||
cmd = { 'Telescope' },
|
||||
keys = {
|
||||
{
|
||||
'<leader>ff',
|
||||
'<cmd>lua require("cosmic.plugins.telescope.utils").project_files()<cr>',
|
||||
desc = 'Find project file',
|
||||
},
|
||||
},
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'telescope'),
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local icons = require('cosmic.utils.icons')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local icons = require('utils.icons')
|
||||
local u = require('utils')
|
||||
|
||||
return {
|
||||
'folke/todo-comments.nvim',
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local map = require('cosmic.utils').set_keymap
|
||||
local user_config = require('core.user')
|
||||
local map = require('utils').set_keymap
|
||||
return {
|
||||
'akinsho/toggleterm.nvim',
|
||||
config = function()
|
||||
|
@ -14,7 +14,7 @@ return {
|
|||
},
|
||||
},
|
||||
})
|
||||
local terminal_utils = require('cosmic.plugins.toggleterm.utils')
|
||||
local terminal_utils = require('plugins.toggleterm.utils')
|
||||
|
||||
-- toggle terminals
|
||||
map('n', '<leader>xx', ':ToggleTerm<CR>', { desc = 'Toggle Terminal' })
|
||||
|
@ -29,7 +29,7 @@ return {
|
|||
map('n', '<leader>xr', ':ToggleTermSetName<CR>', { desc = 'Rename terminal', buffer = 0 })
|
||||
|
||||
-- terminal only mappings
|
||||
vim.cmd("autocmd! TermOpen term://* lua require('cosmic.plugins.toggleterm.utils').set_terminal_keymaps()")
|
||||
vim.cmd("autocmd! TermOpen term://* lua require('plugins.toggleterm.utils').set_terminal_keymaps()")
|
||||
end,
|
||||
lazy = false,
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
local M = {}
|
||||
local map = require('cosmic.utils').set_keymap
|
||||
local map = require('utils').set_keymap
|
||||
local Terminal = require('toggleterm.terminal').Terminal
|
||||
|
||||
function M.new_terminal()
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
local config = u.merge({
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
return {
|
||||
{ -- color scheme
|
||||
'folke/tokyonight.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
local config = require('cosmic.plugins.tokyonight.config')
|
||||
local config = require('plugins.tokyonight.config')
|
||||
require('tokyonight').setup(config)
|
||||
vim.cmd('color tokyonight')
|
||||
end,
|
|
@ -1,5 +1,5 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local u = require('cosmic.utils')
|
||||
local user_config = require('core.user')
|
||||
local u = require('utils')
|
||||
|
||||
local defaults = {
|
||||
ensure_installed = {
|
2
lua/plugins/user/init.lua
Normal file
2
lua/plugins/user/init.lua
Normal file
|
@ -0,0 +1,2 @@
|
|||
local user_config = require('core.user')
|
||||
return user_config.add_plugins
|
|
@ -1,4 +1,4 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
return {
|
||||
'folke/which-key.nvim',
|
||||
config = function()
|
81
lua/utils/icons.lua
Normal file
81
lua/utils/icons.lua
Normal file
|
@ -0,0 +1,81 @@
|
|||
local icons = {
|
||||
rounded_left_filled = "",
|
||||
rounded_right_filled = "",
|
||||
arrow_left_filled = "", -- e0b2
|
||||
arrow_right_filled = "", -- e0b0
|
||||
arrow_left = "", -- e0b3
|
||||
arrow_right = "", -- e0b1
|
||||
ghost = "",
|
||||
rocket = "🚀",
|
||||
warn = "",
|
||||
info = "",
|
||||
error = "",
|
||||
hint = "",
|
||||
perf = "",
|
||||
note = "",
|
||||
branch = "",
|
||||
file = "",
|
||||
dotdotdot = "…",
|
||||
information = "",
|
||||
symlink = "",
|
||||
line_number = "",
|
||||
debug = " ",
|
||||
flame = " ",
|
||||
check = " ",
|
||||
trace = "✎",
|
||||
file1 = "",
|
||||
file2 = "",
|
||||
clock = "",
|
||||
word = "",
|
||||
diff_add = "",
|
||||
diff_modified = "",
|
||||
diff_remove = "",
|
||||
git = {
|
||||
unstaged = "✗",
|
||||
staged = "✓",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "★",
|
||||
deleted = "",
|
||||
ignored = "◌",
|
||||
},
|
||||
folder = {
|
||||
arrow_open = "",
|
||||
arrow_closed = "",
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = "",
|
||||
},
|
||||
kind_icons = {
|
||||
Text = "",
|
||||
Method = "m",
|
||||
Function = "",
|
||||
Constructor = "",
|
||||
Field = "",
|
||||
Variable = "",
|
||||
Class = "",
|
||||
Interface = "",
|
||||
Module = "",
|
||||
Property = "",
|
||||
Unit = "",
|
||||
Value = "",
|
||||
Enum = "",
|
||||
Keyword = "",
|
||||
Snippet = "",
|
||||
Color = "",
|
||||
File = "",
|
||||
Reference = "",
|
||||
Folder = "",
|
||||
EnumMember = "",
|
||||
Constant = "",
|
||||
Struct = "",
|
||||
Event = "",
|
||||
Operator = "",
|
||||
TypeParameter = "",
|
||||
},
|
||||
}
|
||||
|
||||
return icons
|
|
@ -1,28 +1,8 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
local user_config = require('core.user')
|
||||
local M = {}
|
||||
|
||||
M.format_on_save_enabled = true
|
||||
|
||||
function M.can_client_format_on_save(client)
|
||||
local user_server_config = user_config.lsp.servers[client.name]
|
||||
-- formatting enabled by default if server=true
|
||||
if user_server_config == true then
|
||||
return true
|
||||
end
|
||||
|
||||
-- check config server settings
|
||||
if user_server_config then
|
||||
-- default to true if no format flag on server settings is set
|
||||
if user_server_config.format_on_save == nil then
|
||||
return true
|
||||
end
|
||||
-- check format flag on server settings
|
||||
return user_server_config.format_on_save == true
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
function M.toggle_format_on_save()
|
||||
M.format_on_save_enabled = not M.format_on_save_enabled
|
||||
vim.notify(string.format('Format on save: %s', M.format_on_save_enabled))
|
Loading…
Add table
Reference in a new issue