syntax: exclude unused grammars

This commit is contained in:
Dmitriy Pleshevskiy 2023-04-14 17:45:14 +03:00
parent b7a44b014a
commit 06b4e995bf
Signed by: pleshevskiy
GPG key ID: 79C4487B44403985
2 changed files with 149 additions and 10 deletions

View file

@ -1,5 +1,4 @@
{ enableDevIcons ? false { enableDevIcons ? false
, enableBarBar ? false
, enableTabby ? false , enableTabby ? false
, enableOrgMode ? false , enableOrgMode ? false
, viAlias ? false , viAlias ? false
@ -18,6 +17,7 @@
, nix2lua , nix2lua
, substituteAll , substituteAll
, fetchFromGitHub , fetchFromGitHub
, fetchFromGitea
, ... , ...
}: }:
@ -29,7 +29,7 @@ let
}; };
pluginParams = neovimPlugins // { pluginParams = neovimPlugins // {
inherit runCommand tree-sitter fetchFromGitHub; inherit runCommand tree-sitter fetchFromGitHub fetchFromGitea;
inherit plugins enableDevIcons enableTabby enableOrgMode; inherit plugins enableDevIcons enableTabby enableOrgMode;
themeCfg = theme; themeCfg = theme;
lib = myLib; lib = myLib;

View file

@ -1,6 +1,5 @@
{ lib { runCommand
, runCommand , fetchFromGitea
, fetchFromGitHub
, ... , ...
} @ inputs: } @ inputs:
@ -11,10 +10,11 @@ let
extraGrammars = { extraGrammars = {
tree-sitter-d2 = { tree-sitter-d2 = {
language = "d2"; language = "d2";
src = fetchFromGitHub { src = fetchFromGitea {
domain = "git.pleshevski.ru";
owner = "pleshevskiy"; owner = "pleshevskiy";
repo = "tree-sitter-d2"; repo = "tree-sitter-d2";
rev = "5459cdd0656d400ca7d104de85f5df77c90e8483"; rev = "eb6910126fa392b60832d834fe6640635cd35ba8";
sha256 = "sha256-TmUwK047pg6J9lyl8HQYLjN463eWuY5vlNubQOp4DL8="; sha256 = "sha256-TmUwK047pg6J9lyl8HQYLjN463eWuY5vlNubQOp4DL8=";
}; };
version = "0.0.0"; version = "0.0.0";
@ -22,13 +22,152 @@ let
}; };
tree-sitter = (inputs.tree-sitter.override { inherit extraGrammars; }); tree-sitter = (inputs.tree-sitter.override { inherit extraGrammars; });
grammars = tree-sitter.withPlugins (g: [ g.tree-sitter-d2 ]); customGrammars = tree-sitter.withPlugins (g: [ g.tree-sitter-d2 ]);
nvim-treesitter = inputs.nvim-treesitter.withAllGrammars.overrideAttrs (oldAttrs: { nvim-treesitter = (inputs.nvim-treesitter.withPlugins (g: [
# g.agda
# g.arduino
# g.astro
g.awk
g.bash
# g.beancount
# g.bibtex
# g.blueprint
# g.c
# g.c_sharp
# g.clojure
g.cmake
g.comment
g.commonlisp
# g.cooklang
# g.cpp
g.css
# g.cuda
# g.d
# g.d2
# g.dart
# g.devicetree
g.diff
g.dockerfile
# g.dot
# g.eex
# g.elixir
g.elm
# g.elvish
g.embedded_template
# g.erlang
# g.fennel
# g.fish
# g.foam
# g.fortran
# g.fusion
# g.gdscript
g.git_rebase
g.gitattributes
g.gitignore
# g.gleam
# g.glimmer
# g.glsl
# g.go
# g.godot_resource
# g.gomod
# g.gowork
g.graphql
# g.hack
g.haskell
# g.hcl
# g.heex
# g.hjson
# g.hlsl
# g.hocon
g.html
g.http
# g.java
g.javascript
g.jq
g.jsdoc
g.json
g.json5
g.jsonc
# g.jsonnet
# g.julia
# g.kotlin
# g.lalrpop
# g.latex
g.ledger
# g.llvm
g.lua
# g.m68k
g.make
g.markdown
g.markdown_inline
# g.menhir
# g.meson
# g.nickel
# g.ninja
g.nix
# g.norg
# g.ocaml
# g.ocaml_interface
# g.ocamllex
g.org
# g.pascal
# g.perl
# g.php
# g.phpdoc
# g.pioasm
# g.prisma
# g.proto
g.pug
g.python
# g.ql
# g.qmljs
g.query
# g.r
# g.racket
# g.rasi
g.regex
# g.rego
# g.rnoweb
# g.rst
# g.ruby
g.rust
# g.scala
g.scheme
g.scss
# g.slint
# g.solidity
# g.sparql
g.sql
# g.supercollider
# g.surface
# g.svelte
# g.swift
# g.sxhkdrc
# g.teal
# g.tiger
# g.tlaplus
g.todotxt
# g.toml
# g.tsx
# g.turtle
# g.twig
g.typescript
# g.v
# g.vala
# g.verilog
# g.vhs
g.vim
g.vue
# g.wgsl
g.yaml
# g.yang
# g.zig
])).overrideAttrs (oldAttrs: {
passthru.dependencies = oldAttrs.passthru.dependencies ++ [ passthru.dependencies = oldAttrs.passthru.dependencies ++ [
(runCommand "nvim-treesitter-d2-grammar" { } '' (runCommand "nvim-treesitter-d2-grammar" { } ''
mkdir -p $out/parser mkdir -p $out/parser
ln -s ${grammars}/d2.so $out/parser/d2.so ln -s ${customGrammars}/d2.so $out/parser/d2.so
'') '')
]; ];
postPatch = '' postPatch = ''