Merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
_N0x 2023-09-27 22:04:00 +02:00
commit fb623dd26b
11 changed files with 285 additions and 86 deletions

View File

@ -75,10 +75,10 @@ bufferline.setup {
-- end -- end
}, },
highlights = { highlights = {
fill = { --fill = {
fg = { attribute = "fg", highlight = "#ff0000" }, -- fg = { attribute = "fg", highlight = "#ff0000" },
bg = { attribute = "bg", highlight = "TabLine" }, -- bg = { attribute = "bg", highlight = "TabLine" },
}, --},
background = { background = {
fg = { attribute = "fg", highlight = "TabLine" }, fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" }, bg = { attribute = "bg", highlight = "TabLine" },

View File

@ -45,12 +45,19 @@ M.setup = function()
end end
local function lsp_highlight_document(client) local function lsp_highlight_document(client)
-- Set autocommands conditional on server_capabilities -- Set autocommands conditional on server_capabilities
local status_ok, illuminate = pcall(require, "illuminate") if client.server_capabilities.documentHighlight then
if not status_ok then vim.api.nvim_exec(
return [[
end augroup lsp_document_highlight
illuminate.on_attach(client) autocmd! * <buffer>
autocmd CursorHold * lua vim.lsp.buf.document_highlight()
autocmd CursorMoved * lua vim.lsp.buf.clear_references()
augroup END
]],
false
)
end
end end
local function lsp_keymaps(bufnr) local function lsp_keymaps(bufnr)
@ -79,7 +86,7 @@ end
M.on_attach = function(client, bufnr) M.on_attach = function(client, bufnr)
if client.name == "tsserver" then if client.name == "tsserver" then
client.resolved_capabilities.document_formatting = false client.server_capabilities.documentFormattingProvider = false
end end
lsp_keymaps(bufnr) lsp_keymaps(bufnr)
lsp_highlight_document(client) lsp_highlight_document(client)
@ -88,10 +95,9 @@ end
local capabilities = vim.lsp.protocol.make_client_capabilities() local capabilities = vim.lsp.protocol.make_client_capabilities()
local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
if not status_ok then if status_ok then
return M.capabilities = cmp_nvim_lsp.default_capabilities(capabilities)
end end
--M.capabilities = cmp_nvim_lsp.update_capabilities(capabilities)
return M return M

View File

@ -1,7 +1,8 @@
local status_ok, _ = pcall(require, "lspconfig") local status_ok, _ = pcall(require, "lspconfig")
if not status_ok then if not status_ok then
return return
end end
require("user.lsp.lsp-installer") require "user.lsp.mason"
require("user.lsp.handlers").setup() require("user.lsp.handlers").setup()
require "user.lsp.null-ls"

View File

@ -1,33 +0,0 @@
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
if not status_ok then
return
end
-- Register a handler that will be called for all installed servers.
-- Alternatively, you may also register handlers on specific server instances instead (see example below).
lsp_installer.on_server_ready(function(server)
local opts = {
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
}
if server.name == "jsonls" then
local jsonls_opts = require("user.lsp.settings.jsonls")
opts = vim.tbl_deep_extend("force", jsonls_opts, opts)
end
if server.name == "sumneko_lua" then
local sumneko_opts = require("user.lsp.settings.sumneko_lua")
opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
end
if server.name == "clangd" then
local clangd_opts = require("user.lsp.settings.clangd")
opts = vim.tbl_deep_extend("force", clangd_opts, opts)
end
-- This setup() function is exactly the same as lspconfig's setup function.
-- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
server:setup(opts)
end)

View File

@ -0,0 +1,46 @@
local servers = {
"clangd",
"rust_analyzer"
}
local settings = {
ui = {
border = "none",
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = ""
},
},
log_level = vim.log.levels.INFO,
max_concurrent_installers = 4,
}
require("mason").setup(settings)
require("mason-lspconfig").setup({
ensure_installed = servers,
automatic_installation = true,
})
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
if not lspconfig_status_ok then
return
end
local opts = {}
for _, server in pairs(servers) do
opts = {
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
}
server = vim.split(server, "@")[1]
local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server)
if require_ok then
opts = vim.tbl_deep_extend("force", conf_opts, opts)
end
lspconfig[server].setup(opts)
end

View File

@ -1,6 +1,6 @@
local null_ls_status_ok, null_ls = pcall(require, "null-ls") local null_ls_status_ok, null_ls = pcall(require, "null-ls")
if not null_ls_status_ok then if not null_ls_status_ok then
return return
end end
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting -- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
@ -8,13 +8,14 @@ local formatting = null_ls.builtins.formatting
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
local diagnostics = null_ls.builtins.diagnostics local diagnostics = null_ls.builtins.diagnostics
null_ls.setup { null_ls.setup({
debug = false, debug = false,
sources = { sources = {
formatting.clang_format.with({ --formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
extra_filetypes = {"inl"}, null_ls.builtins.formatting.clang_format.with({
extra_args = {"-style=file:~/.config/nvim/lua/user/lsp/settings/clang-format"}, extra_filetypes = {"inl"},
extra_args = {"-style=file:~/.config/nvim/lua/user/lsp/settings/clang-format"},
}), }),
diagnostics.gccdiag, null_ls.builtins.formatting.rustfmt,
}, },
} })

View File

@ -0,0 +1,174 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: Left
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: AcrossEmptyLinesAndComments
AlignEscapedNewlines: Left
AlignOperands: Align
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortEnumsOnASingleLine: true
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: TopLevelDefinitions
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
- __capability
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing: Before
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: true
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseLabels: true
IndentCaseBlocks: true
IndentGotoLabels: true
IndentPPDirectives: None
IndentExternBlock: AfterExternBlock
IndentRequires: false
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertTrailingCommas: None
KeepEmptyLinesAtTheStartOfBlocks: true
LambdaBodyIndentation: Signature
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyIndentedWhitespace: 0
PointerAlignment: Right
PPIndentWidth: -1
ReferenceAlignment: Pointer
ReflowComments: true
ShortNamespaceLines: 1
SortIncludes: CaseSensitive
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: Latest
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseCRLF: false
UseTab: Never
WhitespaceSensitiveMacros:
- STRINGIZE
- PP_STRINGIZE
- BOOST_PP_STRINGIZE
- NS_SWIFT_NAME
- CF_SWIFT_NAME
...

View File

@ -55,13 +55,6 @@ nvim_tree.setup {
}, },
disable_netrw = true, disable_netrw = true,
hijack_netrw = true, hijack_netrw = true,
open_on_setup = false,
ignore_ft_on_setup = {
"startify",
"dashboard",
"alpha",
},
open_on_tab = false,
hijack_cursor = false, hijack_cursor = false,
update_cwd = true, update_cwd = true,
diagnostics = { diagnostics = {

View File

@ -26,7 +26,7 @@ local options = {
tabstop = 4, -- insert 2 spaces for a tab tabstop = 4, -- insert 2 spaces for a tab
cursorline = true, -- highlight the current line cursorline = true, -- highlight the current line
number = true, -- set numbered lines number = true, -- set numbered lines
relativenumber = false, -- set relative numbered lines relativenumber = true, -- set relative numbered lines
numberwidth = 4, -- set number column width to 2 {default 4} numberwidth = 4, -- set number column width to 2 {default 4}
signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
wrap = false, -- display lines as one long line wrap = false, -- display lines as one long line
@ -50,3 +50,4 @@ vim.cmd [[set iskeyword+=-]]
vim.cmd "set listchars=tab:\\ \\ ,space:·" vim.cmd "set listchars=tab:\\ \\ ,space:·"
--vim.cmd "set term=screen-256color" --vim.cmd "set term=screen-256color"
vim.g.vimwiki_list = {{path = '~/Documents/vimwiki', syntax = 'markdown', ext = '.md'}} vim.g.vimwiki_list = {{path = '~/Documents/vimwiki', syntax = 'markdown', ext = '.md'}}
vim.g.nord_disable_background = true

View File

@ -58,19 +58,21 @@ return packer.startup(function(use)
-- snippets -- snippets
use "L3MON4D3/LuaSnip" --snippet engine use "L3MON4D3/LuaSnip" --snippet engine
use "rafamadriz/friendly-snippets" -- a bunch of snippets to use use "rafamadriz/friendly-snippets" -- a bunch of snippets to use
-- LSP -- LSP
use "neovim/nvim-lspconfig" -- enable LSP use "neovim/nvim-lspconfig" -- enable LSP
use "williamboman/nvim-lsp-installer" -- simple to use language server installer use "williamboman/mason.nvim" -- simple to use language server installer
use "williamboman/mason-lspconfig.nvim" -- simple to use language server installer
use 'jose-elias-alvarez/null-ls.nvim' -- LSP diagnostics and code actions
-- Telescope -- Telescope
use "nvim-telescope/telescope.nvim" use "nvim-telescope/telescope.nvim"
use 'nvim-telescope/telescope-media-files.nvim' use 'nvim-telescope/telescope-media-files.nvim'
-- Treesitter -- Treesitter
use { use {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
run = ":TSUpdate", run = ":TSUpdate",
} }
use { use {
@ -97,6 +99,9 @@ return packer.startup(function(use)
-- VimWiki -- VimWiki
use { 'vimwiki/vimwiki', branch='dev'} use { 'vimwiki/vimwiki', branch='dev'}
-- dicord fuckery
use 'andweeb/presence.nvim'
-- Automatically set up your configuration after cloning packer.nvim -- Automatically set up your configuration after cloning packer.nvim
-- Put this at the end after all plugins -- Put this at the end after all plugins
if PACKER_BOOTSTRAP then if PACKER_BOOTSTRAP then

View File

@ -1,13 +1,18 @@
local configs = require("nvim-treesitter.configs") local status_ok, configs = pcall(require, "nvim-treesitter.configs")
configs.setup { if not status_ok then
ensure_installed = { "c", "cpp" }, return
sync_install = false, end
ignore_install = { "" }, -- List of parsers to ignore installing
highlight = { configs.setup({
enable = true, -- false will disable the whole extension ensure_installed = { "bash", "c", "cpp", "javascript", "json", "lua", "python", "typescript", "tsx", "css", "rust", "java", "yaml", "markdown", "markdown_inline" }, -- one of "all" or a list of languages
disable = { "" }, -- list of language that will be disabled ignore_install = { "phpdoc" }, -- List of parsers to ignore installing
additional_vim_regex_highlighting = true, highlight = {
enable = true, -- false will disable the whole extension
disable = { "css" }, -- list of language that will be disabled
},
autopairs = {
enable = true,
},
indent = { enable = true, disable = { "python", "css" } },
})
},
indent = { enable = true },
}