Compare commits

...

3 commits

Author SHA1 Message Date
Natsu Kagami 052f372f67
Add yaml support to kak-tree-sitter 2024-03-01 13:08:39 +01:00
Natsu Kagami 1247233c36
Update kak-tree-sitter 2024-03-01 12:03:01 +01:00
Natsu Kagami 16f735f25b
Fix kakoune failing to compile
... and move its definition into overlay
2024-03-01 11:31:23 +01:00
4 changed files with 44 additions and 37 deletions

View file

@ -1,36 +1,6 @@
{ config, pkgs, lib, ... }:
let
kakounePkg =
pkgs.kakoune.override {
kakoune = with lib; pkgs.stdenv.mkDerivation rec {
pname = "kakoune-unwrapped";
version = "r${builtins.substring 0 6 pkgs.sources.kakoune.rev}";
src = pkgs.sources.kakoune;
makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ];
preConfigure = ''
export version="v${version}";
'';
enableParallelBuilding = true;
doInstallCheck = true;
installCheckPhase = ''
$out/bin/kak -ui json -e "kill 0"
'';
postInstall = ''
# make share/kak/autoload a directory
cd "$out/share/kak"
autoload_target=$(readlink autoload)
rm autoload
mkdir autoload
ln -s --relative "$autoload_target" autoload
'';
};
};
kak-lsp = pkgs.libs.crane.buildPackage {
src = pkgs.sources.kak-lsp;
buildInputs = (with pkgs;
@ -199,9 +169,30 @@ in
queries.src = src;
queries.path = "queries";
};
yaml = {
grammar.src = pkgs.fetchFromGitHub {
owner = "ikatyang";
repo = "tree-sitter-yaml";
rev = "0e36bed171768908f331ff7dff9d956bae016efb";
hash = "sha256-rN/a8dYffDQNuvnhNp/nfu0AzhYrR1ESACQbQWb/n5w=";
leaveDotGit = true;
};
grammar.compile.args = [ "-c" "-fpic" "../scanner.cc" "../parser.c" "-I" ".." ];
grammar.link.args = [ "-shared" "-fpic" "scanner.o" "parser.o" ];
grammar.link.flags = [ "-O3" "-lstdc++" ];
queries.src = pkgs.fetchFromGitHub {
owner = "helix-editor";
repo = "helix";
rev = "dbd248fdfa680373d94fbc10094a160aafa0f7a7";
hash = "sha256-dv/T8ROXmwEdjM71gza1RzF2HoINA7Zl2jmz63kCZyQ=";
leaveDotGit = true;
};
queries.path = "runtime/queries/yaml";
};
};
programs.my-kakoune.package = kakounePkg;
programs.my-kakoune.package = pkgs.kakoune;
programs.my-kakoune.rc =
builtins.readFile ./kakrc + ''

View file

@ -1,5 +1,6 @@
# Enable kak-tree-sitter
eval %sh{ kak-tree-sitter --kakoune -d --server }
eval %sh{ kak-tree-sitter --kakoune -d --server --with-text-objects }
map global normal <c-t> ": enter-user-mode tree-sitter<ret>"
## Set some color overrides
set global kts_yellow "rgb:e2b75e"
set global kts_teal "rgb:008080"
@ -92,8 +93,8 @@ hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c
map window normal <c-s-h> ": lsp-hover-buffer<ret>"
# lsp-auto-hover-insert-mode-enable
set window lsp_hover_anchor true
}
hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c|cpp|tex|latex|haskell|nix|fsharp) %{
# Format the document if possible
hook window BufWritePre .* %{ lsp-formatting-sync }

View file

@ -54,6 +54,21 @@ let
});
input-remapper = final.unstable.input-remapper;
kakoune-unwrapped =
prev.kakoune-unwrapped.overrideAttrs (attrs: {
version = "r${builtins.substring 0 6 inputs.kakoune.rev}";
src = inputs.kakoune;
patches = [
# patches in the original package was already applied
# https://github.com/mawww/kakoune/pull/5108
(final.fetchpatch {
url = "https://github.com/mawww/kakoune/commit/64b3433905eeb33653ed617d61906ba68c686916.patch";
hash = "sha256-XYA4GcOEuWHsnDhMI0nXbg9Myv2o1UZ8qvzavIXbkJo=";
})
];
});
};
overlay-libs = final: prev: {

View file

@ -3,15 +3,15 @@ let
src = fetchFromGitHub {
owner = "phaazon";
repo = "kak-tree-sitter";
rev = "kak-tree-sitter-v0.5.2";
hash = "sha256-oyb1mczin1CEZwG1YBJfy1dSEYpNpqmZ21mscrgkoBo=";
rev = "61cce127ca03e3c969df1ff46f41074a3c69be31";
hash = "sha256-wcgc1L6Y6obLTIonWLJzNK72fWW8oJ0yMEfGotCg5b8=";
};
kak-tree-sitter = rustPlatform.buildRustPackage rec {
inherit src;
pname = "kak-tree-sitter";
version = "0.5.2";
cargoHash = "sha256-rvysHMMiI1e6RBKX+NFObB8fXGmzVnc+4/A5qPcEcm8=";
version = "0.5.5-${lib.substring 0 6 src.rev}";
cargoHash = "sha256-Ozzcn4k+1Q+50zxCy9Flvv8vZKNcAesrHT/izVAgn54=";
cargoBuildOptions = [ "--package" "kak-tree-sitter" "--package" "ktsctl" ];
nativeBuildInputs = [ clang git ];