From aca84cd7cfb3c73546f21b222367035e291162ab Mon Sep 17 00:00:00 2001 From: dim Date: Sun, 5 Jan 2025 12:12:37 +0700 Subject: [PATCH] update treesitter for blade development --- home/programs/nvim/plugins/lsp.nix | 23 ++++++---- home/programs/nvim/plugins/treesitter.nix | 55 ++++++++++++----------- 2 files changed, 43 insertions(+), 35 deletions(-) diff --git a/home/programs/nvim/plugins/lsp.nix b/home/programs/nvim/plugins/lsp.nix index 2dba624..813c5ee 100644 --- a/home/programs/nvim/plugins/lsp.nix +++ b/home/programs/nvim/plugins/lsp.nix @@ -15,15 +15,16 @@ html.enable = true; svelte.enable = false; marksman.enable = true; - intelephense = { - enable = true; - package = pkgs.nodePackages.intelephense; - settings = { - init_options = { - globalStoragePath = "~/.local/share/intelephense"; - }; - }; - }; + phpactor.enable = true; + # intelephense = { + # enable = true; + # package = pkgs.nodePackages.intelephense; + # settings = { + # init_options = { + # globalStoragePath = "~/.local/share/intelephense"; + # }; + # }; + # }; dockerls.enable = true; elmls.enable = true; }; @@ -54,6 +55,10 @@ # gofumpt.enable = true; phpcsfixer.enable = true; elm_format.enable = true; + blade_formatter = { + enable = true; + package = pkgs.blade-formatter; + }; }; }; }; diff --git a/home/programs/nvim/plugins/treesitter.nix b/home/programs/nvim/plugins/treesitter.nix index 8b8a214..cd80303 100644 --- a/home/programs/nvim/plugins/treesitter.nix +++ b/home/programs/nvim/plugins/treesitter.nix @@ -7,7 +7,7 @@ let owner = "EmranMR"; repo = "tree-sitter-blade"; rev = "a9997ceb8d2e0cd902fe649a33b476d37a0d6042"; - hash = "sha256-hash="; + hash = "sha256-PTGdsXlLoE+xlU0uWOU6LQalX4fhJ/qhpyEKmTAazLU="; }).overrideAttrs (drv: { fixupPhase = '' mkdir -p $out/queries/blade @@ -17,32 +17,35 @@ let meta.homepage = "https://github.com/EmranMR/tree-sitter-blade/"; }; in { - programs.nixvim.treesitter = { - enable = true; - nixGrammars = true; - settings = { - indent.enable = true; - highlight.enable = true; + programs.nixvim = { + + plugins.treesitter = { + enable = true; + nixGrammars = true; + settings = { + indent.enable = true; + highlight.enable = true; + }; + grammarPackages = pkgs.vimPlugins.nvim-treesitter.passthru.allGrammars + ++ [ treesitter-blade-grammar ]; + luaConfig.post = '' + do + local parser_config = require("nvim-treesitter.parsers").get_parser_configs() + -- change the following as needed + parser_config.blade = { + install_info = { + url = "${treesitter-blade-grammar}", -- local path or git repo + files = {"src/parser.c"}, -- note that some parsers also require src/scanner.c or src/scanner.cc + -- optional entries: + -- branch = "main", -- default branch in case of git repo if different from master + -- generate_requires_npm = false, -- if stand-alone parser without npm dependencies + requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c + }, + filetype = "blade", -- if filetype does not match the parser name + } + end + ''; }; - grammarPackages = pkgs.vimPlugins.nvim-treesitter.passthru.allGrammars - ++ [ treesitter-blade-grammar ]; - luaConfig.post = '' - do - local parser_config = require("nvim-treesitter.parsers").get_parser_configs() - -- change the following as needed - parser_config.blade = { - install_info = { - url = "${treesitter-blade-grammar}", -- local path or git repo - files = {"src/parser.c"}, -- note that some parsers also require src/scanner.c or src/scanner.cc - -- optional entries: - -- branch = "main", -- default branch in case of git repo if different from master - -- generate_requires_npm = false, -- if stand-alone parser without npm dependencies - -- requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c - }, - filetype = "blade.php", -- if filetype does not match the parser name - } - end - ''; extraPlugins = [ treesitter-blade-grammar ]; }; }