From 7cd58b1228749f72a81ba84c265cafafe47fa5a6 Mon Sep 17 00:00:00 2001 From: PZ31k0nauT <86895284+PZ31k0nauT@users.noreply.github.com> Date: Sun, 4 Jul 2021 18:50:38 +0200 Subject: [PATCH] Basics for php lsp (#664) * Update php.lua * Update default-config.lua * Update lv-config.example.lua --- ftplugin/php.lua | 25 +++++++++++++++++++++++-- lua/default-config.lua | 16 +++++++++++++++- utils/installer/lv-config.example.lua | 9 ++++++++- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/ftplugin/php.lua b/ftplugin/php.lua index abc90092..b571a213 100644 --- a/ftplugin/php.lua +++ b/ftplugin/php.lua @@ -1,4 +1,25 @@ require'lspconfig'.intelephense.setup { cmd = { DATA_PATH .. "/lspinstall/php/node_modules/.bin/intelephense", "--stdio" }, - on_attach = require'lsp'.common_on_attach -} \ No newline at end of file + on_attach = require'lsp'.common_on_attach, + handlers = { + ["textDocument/publishDiagnostics"] = vim.lsp.with( + vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = O.lang.php.diagnostics.virtual_text, + signs = O.lang.php.diagnostics.signs, + underline = O.lang.php.diagnostics.underline, + update_in_insert = true + + }) + }, + filetypes = O.lang.php.filetypes, + settings = { + intelephense = { + format = { + braces = O.lang.php.format.braces + }, + environment = { + phpVersion = O.lang.php.environment.php_version + }, + } + }; +} diff --git a/lua/default-config.lua b/lua/default-config.lua index 0023256f..0d33fe47 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -182,7 +182,21 @@ O = { } }, svelte = {}, - php = {}, + php = { + format = { + braces = "psr12" + }, + environment = { + php_version = "7.4" + }, + autoformat = false, + diagnostics = { + virtual_text = {spacing = 0, prefix = ""}, + signs = true, + underline = true + }, + filetypes = {'php', 'phtml'} + }, latex = {}, kotlin = {}, html = {}, diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua index 169cfcc8..6910a2cb 100644 --- a/utils/installer/lv-config.example.lua +++ b/utils/installer/lv-config.example.lua @@ -87,7 +87,14 @@ O.lang.rust.autoformat = true -- clang O.lang.clang.autoformat = false -- Set to true to enable auto-format in C/C++ files. - +-- php +O.lang.php.format.braces = "k&r" -- options: psr12, allman, k&r +O.lang.php.environment.php_version = "7.4" +-- TODO: autoformat seems not to work at the moment +O.lang.php.autoformat = false +O.lang.php.diagnostics.signs = true +O.lang.php.diagnostics.underline = true +O.lang.php.filetypes = { "php", "phtml" } -- TODO Autocommands -- https://neovim.io/doc/user/autocmd.html