update
This commit is contained in:
parent
459e723f29
commit
c7c70423b1
|
@ -1,5 +1,11 @@
|
||||||
extends html
|
extends html
|
||||||
|
|
||||||
|
snippet doc "/**"
|
||||||
|
/**
|
||||||
|
* $1
|
||||||
|
*/$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
snippet pre "<pre>print_r()</pre>"
|
snippet pre "<pre>print_r()</pre>"
|
||||||
echo "<pre>";
|
echo "<pre>";
|
||||||
print_r($0);
|
print_r($0);
|
||||||
|
@ -36,6 +42,18 @@ public function $1($2) {
|
||||||
}
|
}
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
|
snippet pt "protected function ..."
|
||||||
|
protected function $1($2) {
|
||||||
|
$0
|
||||||
|
}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet pv "private function ..."
|
||||||
|
private function $1($2) {
|
||||||
|
$0
|
||||||
|
}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
snippet psf "public static function ..."
|
snippet psf "public static function ..."
|
||||||
public static function $1($2) {
|
public static function $1($2) {
|
||||||
$0
|
$0
|
||||||
|
@ -53,9 +71,25 @@ snippet ''= "'...' => "
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet apm "add_post_meta(..."
|
snippet apm "add_post_meta(..."
|
||||||
add_post_meta( 341, 'DEBUG_$1', $0);
|
add_post_meta( 1, 'DEBUG_$1', $0);
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet upm "update_post_meta(..."
|
snippet upm "update_post_meta(..."
|
||||||
update_post_meta( 341, 'DEBUG_$1', $0);
|
update_post_meta( 1, 'DEBUG_$1', $0);
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet sw "switch ..."
|
||||||
|
switch ($1) {
|
||||||
|
case $2:
|
||||||
|
$3;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$0
|
||||||
|
}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet cs "case ..."
|
||||||
|
case $1:
|
||||||
|
$0;
|
||||||
|
break;
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
283
lua/init-lsp.lua
283
lua/init-lsp.lua
|
@ -11,92 +11,100 @@ local nvim_lsp = require('lspconfig')
|
||||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||||
-- map buffer local keybindings when the language server attaches
|
-- map buffer local keybindings when the language server attaches
|
||||||
local servers = {
|
local servers = {
|
||||||
-- npm i -g bash-language-server
|
-- npm i -g bash-language-server
|
||||||
-- no formatting support
|
-- no formatting support
|
||||||
'bashls',
|
'bashls', -- npm i -g vscode-langservers-extracted
|
||||||
|
-- no formatting support
|
||||||
|
'cssls', -- npm install -g intelephense
|
||||||
|
-- suports formatting
|
||||||
|
'intelephense',
|
||||||
|
|
||||||
-- npm i -g vscode-langservers-extracted
|
-- https://phpactor.readthedocs.io/en/master/usage/standalone.html
|
||||||
-- no formatting support
|
'phpactor', -- npm install -g pyright
|
||||||
'cssls',
|
-- static type checker
|
||||||
|
'pyright', -- https://github.com/neovim/nvim-lspconfig/wiki
|
||||||
-- npm install -g intelephense
|
-- 'tailwindcss',
|
||||||
-- suports formatting
|
-- npm install -g typescript typescript-language-server
|
||||||
'intelephense',
|
-- supports formatting
|
||||||
|
'tsserver', -- npm install -g vim-language-server
|
||||||
-- https://phpactor.readthedocs.io/en/master/usage/standalone.html
|
-- no formatting support
|
||||||
'phpactor',
|
'vimls', -- vue
|
||||||
|
-- use vetur
|
||||||
-- npm install -g pyright
|
'yamlls'
|
||||||
-- static type checker
|
-- no formatting support
|
||||||
'pyright',
|
|
||||||
|
|
||||||
-- https://github.com/neovim/nvim-lspconfig/wiki
|
|
||||||
-- 'tailwindcss',
|
|
||||||
-- npm install -g typescript typescript-language-server
|
|
||||||
-- supports formatting
|
|
||||||
'tsserver',
|
|
||||||
|
|
||||||
-- npm install -g vim-language-server
|
|
||||||
-- no formatting support
|
|
||||||
'vimls',
|
|
||||||
|
|
||||||
-- vue
|
|
||||||
-- use vetur
|
|
||||||
|
|
||||||
'yamlls',
|
|
||||||
-- no formatting support
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Use an on_attach function to only map the following keys
|
-- Use an on_attach function to only map the following keys
|
||||||
-- after the language server attaches to the current buffer
|
-- after the language server attaches to the current buffer
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
local function buf_set_keymap(...)
|
||||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||||
|
end
|
||||||
|
local function buf_set_option(...)
|
||||||
|
vim.api.nvim_buf_set_option(bufnr, ...)
|
||||||
|
end
|
||||||
|
|
||||||
-- Enable completion triggered by <c-x><c-o>
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
-- Mappings.
|
-- Mappings.
|
||||||
local opts = { noremap=true, silent=true }
|
local opts = {noremap = true, silent = true}
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
buf_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev({float = {...}})<CR>', opts)
|
buf_set_keymap('n', '[d',
|
||||||
buf_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next({float = {...}})<CR>', opts)
|
'<cmd>lua vim.diagnostic.goto_prev({float = {...}})<CR>',
|
||||||
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
opts)
|
||||||
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
buf_set_keymap('n', ']d',
|
||||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
'<cmd>lua vim.diagnostic.goto_next({float = {...}})<CR>',
|
||||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
opts)
|
||||||
buf_set_keymap('n', 'gl', '<cmd>lua vim.diagnostic.open_float(buffer, {{opts}, scope="line"})<CR>', opts)
|
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gh', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||||
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>T', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>l', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
|
buf_set_keymap('n', 'gl',
|
||||||
buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setqflist()<CR>', opts)
|
'<cmd>lua vim.diagnostic.open_float(buffer, {{opts}, scope="line"})<CR>',
|
||||||
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
opts)
|
||||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
buf_set_keymap('n', 'gh', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>',
|
||||||
-- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
opts)
|
||||||
-- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
buf_set_keymap('n', '<space>T',
|
||||||
-- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
'<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<space>l', '<cmd>lua vim.diagnostic.setloclist()<CR>',
|
||||||
|
opts)
|
||||||
|
buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setqflist()<CR>',
|
||||||
|
opts)
|
||||||
|
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>',
|
||||||
|
opts)
|
||||||
|
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||||
|
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>',
|
||||||
|
opts)
|
||||||
|
-- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||||
|
-- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||||
|
|
||||||
if client.name == 'tsserver' or client.name == 'intelephense' then
|
if client.name == 'phpactor' then
|
||||||
client.resolved_capabilities.document_formatting = false;
|
client.resolved_capabilities.find_references = false;
|
||||||
end
|
end
|
||||||
|
|
||||||
if client.resolved_capabilities.document_formatting then
|
if client.name == 'tsserver' or client.name == 'intelephense' then
|
||||||
vim.cmd [[augroup lsp_formatting]]
|
client.resolved_capabilities.document_formatting = false;
|
||||||
vim.cmd [[autocmd!]]
|
print(vim.inspect(client.resolved_capabilities));
|
||||||
vim.cmd [[autocmd BufWritePre <buffer> :lua vim.lsp.buf.formatting_seq_sync({}, 3000)]]
|
end
|
||||||
vim.cmd [[augroup END]]
|
|
||||||
end
|
|
||||||
|
|
||||||
if client.resolved_capabilities.document_highlight then
|
if client.resolved_capabilities.document_formatting then
|
||||||
vim.cmd [[
|
vim.cmd [[augroup lsp_formatting]]
|
||||||
|
vim.cmd [[autocmd!]]
|
||||||
|
vim.cmd [[autocmd BufWritePre <buffer> :lua vim.lsp.buf.formatting_seq_sync({}, 3000)]]
|
||||||
|
vim.cmd [[augroup END]]
|
||||||
|
end
|
||||||
|
|
||||||
|
if client.resolved_capabilities.document_highlight then
|
||||||
|
vim.cmd [[
|
||||||
augroup lsp_document_highlight
|
augroup lsp_document_highlight
|
||||||
autocmd! * <buffer>
|
autocmd! * <buffer>
|
||||||
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
|
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
|
||||||
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
|
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
|
||||||
augroup END
|
augroup END
|
||||||
]]
|
]]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
@ -104,13 +112,11 @@ capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||||
|
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
nvim_lsp[lsp].setup {
|
nvim_lsp[lsp].setup {
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
flags = {
|
flags = {debounce_text_changes = 150}
|
||||||
debounce_text_changes = 150,
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local runtime_path = vim.split(package.path, ';')
|
local runtime_path = vim.split(package.path, ';')
|
||||||
|
@ -118,80 +124,67 @@ table.insert(runtime_path, "lua/?.lua")
|
||||||
table.insert(runtime_path, "lua/?/init.lua")
|
table.insert(runtime_path, "lua/?/init.lua")
|
||||||
|
|
||||||
require'lspconfig'.sumneko_lua.setup {
|
require'lspconfig'.sumneko_lua.setup {
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
runtime = {
|
runtime = {
|
||||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||||
version = 'LuaJIT',
|
version = 'LuaJIT',
|
||||||
-- Setup your lua path
|
-- Setup your lua path
|
||||||
path = runtime_path,
|
path = runtime_path
|
||||||
},
|
},
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
-- Get the language server to recognize the `vim` global
|
-- Get the language server to recognize the `vim` global
|
||||||
globals = {'vim'},
|
globals = {'vim'}
|
||||||
},
|
},
|
||||||
workspace = {
|
workspace = {
|
||||||
-- Make the server aware of Neovim runtime files
|
-- Make the server aware of Neovim runtime files
|
||||||
library = vim.api.nvim_get_runtime_file("", true),
|
library = vim.api.nvim_get_runtime_file("", true)
|
||||||
},
|
},
|
||||||
-- Do not send telemetry data containing a randomized but unique identifier
|
-- Do not send telemetry data containing a randomized but unique identifier
|
||||||
telemetry = {
|
telemetry = {enable = false}
|
||||||
enable = false,
|
}
|
||||||
},
|
}
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-- null-ls
|
-- null-ls
|
||||||
local null_ls = require("null-ls")
|
local null_ls = require("null-ls")
|
||||||
|
|
||||||
local sources = {
|
local sources = {
|
||||||
null_ls.builtins.formatting.prettierd,
|
null_ls.builtins.formatting.prettierd, -- phpcs - standards wordpress
|
||||||
|
-- in project directory must
|
||||||
-- phpcs - standards wordpress
|
-- composer require friendsofphp/php-cs-fixer
|
||||||
null_ls.builtins.diagnostics.phpcs.with({
|
-- as in https://github.com/FriendsOfPHP/PHP-CS-Fixer
|
||||||
condition = function(utils)
|
-- I think os anyway - not totally sure any more
|
||||||
return utils.root_has_file({ "vendor/bin/phpcs" })
|
null_ls.builtins.diagnostics.phpcs.with({
|
||||||
end,
|
condition = function(utils)
|
||||||
command = "vendor/bin/phpcs",
|
return utils.root_has_file({"vendor/bin/phpcs"})
|
||||||
args = { "--standard=WordPress", "--report=json", "-s", "-" },
|
end,
|
||||||
}),
|
command = "vendor/bin/phpcs",
|
||||||
-- phpcbf - standards wordpress
|
args = {"--standard=WordPress", "--report=json", "-s", "-"}
|
||||||
null_ls.builtins.formatting.phpcbf.with({
|
}), -- phpcbf - standards wordpress
|
||||||
condition = function(utils)
|
null_ls.builtins.formatting.phpcbf.with({
|
||||||
return utils.root_has_file({ "vendor/bin/phpcbf" })
|
condition = function(utils)
|
||||||
end,
|
return utils.root_has_file({"vendor/bin/phpcbf"})
|
||||||
command = "vendor/bin/phpcbf",
|
end,
|
||||||
args = { "--standard=WordPress", "-" },
|
command = "vendor/bin/phpcbf",
|
||||||
}),
|
args = {"--standard=WordPress", "-"}
|
||||||
|
}), -- phpcs
|
||||||
-- phpcs
|
null_ls.builtins.diagnostics.phpcs.with({
|
||||||
null_ls.builtins.diagnostics.phpcs.with({
|
condition = function(utils)
|
||||||
condition = function(utils)
|
return not utils.root_has_file({"vendor/bin/phpcs"})
|
||||||
return not utils.root_has_file({ "vendor/bin/phpcs" })
|
end,
|
||||||
end,
|
args = {"--standard=PSR12", "--report=json", "-s", "-"}
|
||||||
args = { "--standard=PSR12", "--report=json", "-s", "-" },
|
}), -- phpcbf
|
||||||
}),
|
null_ls.builtins.formatting.phpcbf.with({
|
||||||
-- phpcbf
|
condition = function(utils)
|
||||||
null_ls.builtins.formatting.phpcbf.with({
|
return not utils.root_has_file({"vendor/bin/phpcbf"})
|
||||||
condition = function(utils)
|
end,
|
||||||
return not utils.root_has_file({ "vendor/bin/phpcbf" })
|
args = {"--standard=PSR12", "--report=json", "-s", "-"}
|
||||||
end,
|
}), -- black
|
||||||
args = { "--standard=PSR12", "--report=json", "-s", "-" },
|
null_ls.builtins.formatting.black, -- shellcheck,
|
||||||
}),
|
null_ls.builtins.diagnostics.shellcheck, -- flake8
|
||||||
|
null_ls.builtins.diagnostics.flake8, -- luaFormatter
|
||||||
-- black
|
null_ls.builtins.formatting.lua_format
|
||||||
null_ls.builtins.formatting.black,
|
|
||||||
-- shellcheck,
|
|
||||||
null_ls.builtins.diagnostics.shellcheck,
|
|
||||||
-- flake8
|
|
||||||
null_ls.builtins.diagnostics.flake8,
|
|
||||||
-- luaFormatter
|
|
||||||
null_ls.builtins.formatting.lua_format,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
null_ls.setup({
|
null_ls.setup({sources = sources, on_attach = on_attach})
|
||||||
sources = sources,
|
|
||||||
on_attach = on_attach,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
|
@ -200,3 +200,4 @@ LightInTheBox
|
||||||
Etsy
|
Etsy
|
||||||
Strapi
|
Strapi
|
||||||
whitepapers
|
whitepapers
|
||||||
|
LXD
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue