diff --git a/lazy-lock.json b/lazy-lock.json index 2fbb472..68ef19d 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -24,6 +24,7 @@ "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, "gitsigns.nvim": { "branch": "main", "commit": "4daf7022f1481edf1e8fb9947df13bb07c18e89a" }, "indent-blankline.nvim": { "branch": "master", "commit": "04e44b09ee3ff189c69ab082edac1ef7ae2e256c" }, + "laravel.nvim": { "branch": "main", "commit": "e4f39d942352b03396a9df79896b0a8801675199" }, "lazy.nvim": { "branch": "main", "commit": "b1134ab82ee4279e31f7ddf7e34b2a99eb9b7bc9" }, "lualine.nvim": { "branch": "master", "commit": "640260d7c2d98779cab89b1e7088ab14ea354a02" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "4d0e5b49363cac187326998b96aa6a2884e0e89b" }, @@ -55,11 +56,13 @@ "nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" }, "nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "e0f9b3efe150724af2d2ed59997d5ece373840e3" }, "smart-splits.nvim": { "branch": "master", "commit": "477a004122ea180b14d3e29544857d572c861668" }, "telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, "tiny-devicons-auto-colors.nvim": { "branch": "main", "commit": "a39fa4c92268832f6034306793b8acbfec2a7549" }, "toggleterm.nvim": { "branch": "main", "commit": "5969229c0352ff1ed7f6e24aba9c6554e1842939" }, + "vim-dotenv": { "branch": "master", "commit": "5c51cfcf8d87280d6414e03cd6b253eb70ecb800" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" }, "virt-column.nvim": { "branch": "master", "commit": "b62b4ef0774d19452d4ed18e473e824c7a756f2f" }, diff --git a/lua/pcode/plugins/lang/php.lua b/lua/pcode/plugins/lang/php.lua index 45cc43a..46067b1 100644 --- a/lua/pcode/plugins/lang/php.lua +++ b/lua/pcode/plugins/lang/php.lua @@ -1,9 +1,9 @@ local function is_laravel_project() - return vim.fn.isdirectory("app") == 1 - and vim.fn.isdirectory("bootstrap") == 1 - and vim.fn.isdirectory("config") == 1 - and vim.fn.isdirectory("database") == 1 - and vim.fn.isdirectory("routes") == 1 + return vim.fn.isdirectory("app") == 1 + and vim.fn.isdirectory("bootstrap") == 1 + and vim.fn.isdirectory("config") == 1 + and vim.fn.isdirectory("database") == 1 + and vim.fn.isdirectory("routes") == 1 end -- check parser php -- local is_config = true @@ -12,165 +12,165 @@ end -- is_config = false -- end return { - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - opts.ensure_installed = opts.ensure_installed or {} - vim.list_extend(opts.ensure_installed, { - "c", - "lua", - "vim", - "vimdoc", - "query", - "markdown", - "markdown_inline", - "html", - "php_only", - "php", - "bash", - "blade", - "json", - }) - end, - config = function(_, opts) - local parser_config = require("nvim-treesitter.parsers").get_parser_configs() + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { + "c", + "lua", + "vim", + "vimdoc", + "query", + "markdown", + "markdown_inline", + "html", + "php_only", + "php", + "bash", + "blade", + "json", + }) + end, + config = function(_, opts) + local parser_config = require("nvim-treesitter.parsers").get_parser_configs() - parser_config.blade = { - install_info = { - url = "https://github.com/EmranMR/tree-sitter-blade", - files = { "src/parser.c" }, - branch = "main", - }, - filetype = "blade", - } + parser_config.blade = { + install_info = { + url = "https://github.com/EmranMR/tree-sitter-blade", + files = { "src/parser.c" }, + branch = "main", + }, + filetype = "blade", + } - vim.filetype.add({ - pattern = { - [".*%.blade%.php"] = "blade", - }, - }) + vim.filetype.add({ + pattern = { + [".*%.blade%.php"] = "blade", + }, + }) - require("nvim-treesitter.configs").setup(opts) - end, - }, - { - "williamboman/mason-lspconfig.nvim", - opts = function(_, opts) - opts.ensure_installed = opts.ensure_installed or {} - vim.list_extend(opts.ensure_installed, { "intelephense", "stimulus_ls" }) - end, - }, - { - "pojokcodeid/auto-conform.nvim", - event = "VeryLazy", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { "php-cs-fixer", "blade-formatter" }) - opts.formatters_by_ft.php = { "easy-coding-standard" } - opts.formatters_by_ft.blade = { "blade-formatter" } - end, - }, - { - "pojokcodeid/auto-lint.nvim", - event = "VeryLazy", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { "phpcs" }) - end, - config = function(_, opts) - require("auto-lint").setup(opts) - end, - }, - { - "rcarriga/nvim-dap-ui", - lazy = true, - event = "BufRead", - dependencies = { - { "mfussenegger/nvim-dap", lazy = true }, - { "nvim-neotest/nvim-nio", lazy = true }, - { - "xdebug/vscode-php-debug", - version = "1.x", - build = "npm install && npm run build", - config = function() - require("dap.ext.vscode").load_launchjs() - end, - }, - }, - config = function() - require("pcode.user.dapui") - local dap = require("dap") - dap.adapters.php = { - type = "executable", - command = "node", - -- change this to where you build vscode-php-debug - args = { vim.fn.stdpath("data") .. "/lazy/vscode-php-debug/out/phpDebug.js" }, - } + require("nvim-treesitter.configs").setup(opts) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "intelephense", "stimulus_ls" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "php-cs-fixer", "blade-formatter" }) + opts.formatters_by_ft.php = { "easy-coding-standard" } + opts.formatters_by_ft.blade = { "blade-formatter" } + end, + }, + { + "pojokcodeid/auto-lint.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "phpcs" }) + end, + config = function(_, opts) + require("auto-lint").setup(opts) + end, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + { + "xdebug/vscode-php-debug", + version = "1.x", + build = "npm install && npm run build", + config = function() + require("dap.ext.vscode").load_launchjs() + end, + }, + }, + config = function() + require("pcode.user.dapui") + local dap = require("dap") + dap.adapters.php = { + type = "executable", + command = "node", + -- change this to where you build vscode-php-debug + args = { vim.fn.stdpath("data") .. "/lazy/vscode-php-debug/out/phpDebug.js" }, + } - dap.configurations.php = { - -- to run php right from the editor - { - name = "run current script", - type = "php", - request = "launch", - port = 9003, - cwd = "${fileDirname}", - program = "${file}", - runtimeExecutable = "php", - }, - -- to listen to any php call - { - name = "listen for Xdebug local", - type = "php", - request = "launch", - port = 9003, - }, - -- to listen to php call in docker container - { - name = "listen for Xdebug docker", - type = "php", - request = "launch", - port = 9003, - -- this is where your file is in the container - pathMappings = { - ["/opt/project"] = "${workspaceFolder}", - }, - }, - } - end, - keys = { - { "d", "", desc = "  Debug" }, - { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, - { "db", "lua require'dap'.step_back()", desc = "Step Back" }, - { "dc", "lua require'dap'.continue()", desc = "Continue" }, - { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, - { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, - { "dg", "lua require'dap'.session()", desc = "Get Session" }, - { "di", "lua require'dap'.step_into()", desc = "Step Into" }, - { "do", "lua require'dap'.step_over()", desc = "Step Over" }, - { "du", "lua require'dap'.step_out()", desc = "Step Out" }, - { "dp", "lua require'dap'.pause()", desc = "Pause" }, - { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, - { "ds", "lua require'dap'.continue()", desc = "Start" }, - { "dq", "lua require'dap'.close()", desc = "Quit" }, - { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, - }, - }, - { - "nvim-neotest/neotest", - dependencies = { - "antoinemadec/FixCursorHold.nvim", - "olimorris/neotest-phpunit", - "nvim-neotest/nvim-nio", - }, - config = function() - require("neotest-phpunit")({ - filter_dirs = { "vendor" }, - }) - require("neotest").setup({ - adapters = { - require("neotest-phpunit"), - }, - }) - end, + dap.configurations.php = { + -- to run php right from the editor + { + name = "run current script", + type = "php", + request = "launch", + port = 9003, + cwd = "${fileDirname}", + program = "${file}", + runtimeExecutable = "php", + }, + -- to listen to any php call + { + name = "listen for Xdebug local", + type = "php", + request = "launch", + port = 9003, + }, + -- to listen to php call in docker container + { + name = "listen for Xdebug docker", + type = "php", + request = "launch", + port = 9003, + -- this is where your file is in the container + pathMappings = { + ["/opt/project"] = "${workspaceFolder}", + }, + }, + } + end, + keys = { + { "d", "", desc = "  Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, + }, + { + "nvim-neotest/neotest", + dependencies = { + "antoinemadec/FixCursorHold.nvim", + "olimorris/neotest-phpunit", + "nvim-neotest/nvim-nio", + }, + config = function() + require("neotest-phpunit")({ + filter_dirs = { "vendor" }, + }) + require("neotest").setup({ + adapters = { + require("neotest-phpunit"), + }, + }) + end, -- stylua: ignore keys = { { "T","",desc="  Test"}, @@ -183,38 +183,39 @@ return { { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, }, - }, - { - "mfussenegger/nvim-lint", - opts = function(_, opts) - opts.linters_by_ft = opts.linters_by_ft or {} - opts.linters_by_ft.php = { "phpcs" } - opts.linters_by_ft.blade = { "tlint" } - end, - config = function(_, opts) - require("lint").linters_by_ft = opts.linters_by_ft - end, - }, - -- untuk case tertentu install ini - -- npm install -g tree-sitter-cli - { - "adalessa/laravel.nvim", - enabled = is_laravel_project(), -- pastikan membuka laravel project - dependencies = { - "tpope/vim-dotenv", - "nvim-telescope/telescope.nvim", - "MunifTanjim/nui.nvim", - "kevinhwang91/promise-async", - }, - cmd = { "Laravel" }, - keys = { - { "L", "", desc = " 󰫐 Laravel" }, - { "La", ":Laravel artisan" }, - { "Lr", ":Laravel routes" }, - { "Lm", ":Laravel related" }, - }, - event = { "VeryLazy" }, - opts = {}, - config = true, - }, + }, + { + "mfussenegger/nvim-lint", + opts = function(_, opts) + opts.linters_by_ft = opts.linters_by_ft or {} + opts.linters_by_ft.php = { "phpcs" } + opts.linters_by_ft.blade = { "tlint" } + end, + config = function(_, opts) + require("lint").linters_by_ft = opts.linters_by_ft + end, + }, + -- untuk case tertentu install ini + -- npm install -g tree-sitter-cli + { + "adalessa/laravel.nvim", + enabled = is_laravel_project(), -- pastikan membuka laravel project + version = "v2.2.1", + dependencies = { + "tpope/vim-dotenv", + "nvim-telescope/telescope.nvim", + "MunifTanjim/nui.nvim", + "kevinhwang91/promise-async", + }, + cmd = { "Laravel" }, + keys = { + { "L", "", desc = " 󰫐 Laravel" }, + { "La", ":Laravel artisan" }, + { "Lr", ":Laravel routes" }, + { "Lm", ":Laravel related" }, + }, + event = { "VeryLazy" }, + opts = {}, + config = true, + }, }