1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools-generate
5, setuptools-scm
6, colorama
7, jinja2
8, jsonschema
9, pygls
10, tree-sitter0_21
11, pytestCheckHook
12}:
13
14buildPythonPackage rec {
15 pname = "lsp-tree-sitter";
16 version = "0.0.15";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "neomutt";
21 repo = "lsp-tree-sitter";
22 rev = version;
23 hash = "sha256-yzScgix3BtSCBzlDoE1kMYGtVzkup/+ZK9L1C7VA3do=";
24 };
25
26 build-system = [
27 setuptools-generate
28 setuptools-scm
29 ];
30
31 dependencies = [
32 colorama
33 jinja2
34 jsonschema
35 pygls
36 # The build won't fail if we had used tree-sitter (version > 0.21), but
37 # this package is only a dependency of autotools-language-server which also
38 # depends on tree-sitter-languages which must use tree-sitter0_21 and not
39 # tree-sitter. Hence we avoid different tree-sitter versions dependency
40 # mismatch by defaulting here to this lower version.
41 tree-sitter0_21
42 ];
43 nativeCheckInputs = [
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "lsp_tree_sitter" ];
48
49 meta = with lib; {
50 description = "A library to create language servers";
51 homepage = "https://github.com/neomutt/lsp-tree-sitter";
52 license = licenses.gpl3Only;
53 maintainers = with maintainers; [ doronbehar ];
54 };
55}