From e55026a65a89f74563bbb9d498ae1653bb925da7 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sat, 25 Nov 2023 22:11:34 -0500 Subject: [PATCH] refactor(nvim): build grammar with ts func --- common/home/neovim/default.nix | 13 ++----- common/home/neovim/grammar.nix | 63 ---------------------------------- 2 files changed, 3 insertions(+), 73 deletions(-) delete mode 100644 common/home/neovim/grammar.nix diff --git a/common/home/neovim/default.nix b/common/home/neovim/default.nix index 773fed80..2b453373 100644 --- a/common/home/neovim/default.nix +++ b/common/home/neovim/default.nix @@ -11,15 +11,6 @@ inherit src; }; - buildGrammar = name: grammar: - pkgs.callPackage ./grammar.nix {} { - language = grammar.language or name; - version = grammar.src.rev; - src = grammar.src; - location = grammar.location or null; - generate = grammar.generate or false; - }; - fileContents = lib.strings.fileContents; in { # TODO: make a gradle module and have java in device-vars.nix @@ -154,8 +145,10 @@ in { tree-sitter-hypr = plugin hypr-src; - hypr-grammar = buildGrammar "hypr" { + hypr-grammar = pkgs.tree-sitter.buildGrammar { + language = "hypr"; src = hypr-src; + version = hypr-src.rev; generate = true; }; diff --git a/common/home/neovim/grammar.nix b/common/home/neovim/grammar.nix deleted file mode 100644 index 9595b0d8..00000000 --- a/common/home/neovim/grammar.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - stdenv, - nodejs, - tree-sitter, - lib, -}: -# https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/parsing/tree-sitter/grammar.nix -# Build a parser grammar and put the resulting shared object in `$out/parser` -{ - # language name - language, - version, - src, - location ? null, - generate ? false, - ... -} @ args: -stdenv.mkDerivation ({ - pname = "${language}-grammar"; - - inherit src version; - - nativeBuildInputs = lib.optionals generate [nodejs tree-sitter]; - - CFLAGS = ["-Isrc" "-O2"]; - CXXFLAGS = ["-Isrc" "-O2"]; - - stripDebugList = ["parser"]; - - configurePhase = - lib.optionalString (location != null) '' - cd ${location} - '' - + lib.optionalString generate '' - tree-sitter generate - ''; - - # When both scanner.{c,cc} exist, we should not link both since they may be the same but in - # different languages. Just randomly prefer C++ if that happens. - buildPhase = '' - runHook preBuild - if [[ -e src/scanner.cc ]]; then - $CXX -fPIC -c src/scanner.cc -o scanner.o $CXXFLAGS - elif [[ -e src/scanner.c ]]; then - $CC -fPIC -c src/scanner.c -o scanner.o $CFLAGS - fi - $CC -fPIC -c src/parser.c -o parser.o $CFLAGS - rm -rf parser - $CXX -shared -o parser *.o - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir $out - mv parser $out/ - if [[ -d queries ]]; then - cp -r queries $out - fi - runHook postInstall - ''; - } - // removeAttrs args ["language" "location" "generate"])