Set up typescript language server and add meld to git.

This commit is contained in:
Tom Alexander 2025-07-15 22:57:03 -04:00
parent 8847063948
commit 03f0721e1f
No known key found for this signature in database
GPG Key ID: D3A179C9A53C0EDE
3 changed files with 40 additions and 51 deletions

View File

@ -131,8 +131,9 @@ in
final.cmake-language-server final.cmake-language-server
final.cmake # Used by cmake-language-server final.cmake # Used by cmake-language-server
final.rust-analyzer final.rust-analyzer
final.nodePackages_latest.prettier # Format yaml, json, and JS final.prettier # Format yaml, json, and JS
final.terraform-ls final.terraform-ls
final.typescript-language-server
] ]
} }
''; '';

View File

@ -1,6 +1,12 @@
(require 'common-lsp) (require 'common-lsp)
(require 'util-tree-sitter) (require 'util-tree-sitter)
(defun js-format-buffer ()
"Run prettier."
(interactive)
(run-command-on-buffer "prettier" "--stdin-filepath" buffer-file-name)
)
(use-package json-ts-mode (use-package json-ts-mode
:ensure nil :ensure nil
:pin manual :pin manual
@ -113,10 +119,14 @@
("\\.js\\'" . js-ts-mode) ("\\.js\\'" . js-ts-mode)
) )
:commands (js-ts-mode) :commands (js-ts-mode)
:custom (
(js-indent-level 2)
)
:hook ( :hook (
(js-ts-mode . (lambda () (js-ts-mode . (lambda ()
(when-linux (when-linux
(eglot-ensure) (eglot-ensure)
(add-hook 'before-save-hook 'js-format-buffer nil 'local)
) )
)) ))
) )

View File

@ -20,7 +20,7 @@
config = lib.mkMerge [ config = lib.mkMerge [
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git my_git
]; ];
} }
(lib.mkIf (config.me.git.config != null) { (lib.mkIf (config.me.git.config != null) {
@ -32,54 +32,32 @@
}; };
}; };
}) })
# (lib.mkIf (config.me.graphical) { (lib.mkIf (config.me.graphical) {
# nixpkgs.overlays = [ nixpkgs.overlays = [
# (final: prev: { (final: prev: {
# git = pkgs.buildEnv { my_git = pkgs.symlinkJoin {
# name = prev.git.name; name = final.git.name;
# paths = [ paths = [
# prev.git final.git
# ]; ];
# extraOutputsToInstall = [ nativeBuildInputs = [ final.makeWrapper ];
# "man" postBuild = ''
# "doc" wrapProgram $out/bin/git --prefix PATH : ${
# "info" lib.makeBinPath [
# ]; final.meld
# buildInputs = [ final.makeWrapper ]; ]
# postBuild = '' }
# wrapProgram $out/bin/git --prefix PATH : ${ '';
# lib.makeBinPath [ };
# final.meld })
# ] ];
# } })
# ''; (lib.mkIf (!config.me.graphical) {
# }; nixpkgs.overlays = [
# }) (final: prev: {
# ]; my_git = final.git;
# }) })
# (lib.mkIf (!config.me.graphical) { ];
# nixpkgs.overlays = [ })
# (final: prev: {
# git = pkgs.buildEnv {
# name = prev.git.name;
# paths = [
# prev.git
# ];
# extraOutputsToInstall = [
# "man"
# "doc"
# "info"
# ];
# buildInputs = [ final.makeWrapper ];
# postBuild = ''
# wrapProgram $out/bin/git --prefix PATH : ${
# lib.makeBinPath [
# ]
# }
# '';
# };
# })
# ];
# })
]; ];
} }