summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2025-05-16 12:49:17 +0400
committerAndrew Guschin <guschin@altlinux.org>2025-05-16 12:49:17 +0400
commit86e246a6cef6c9519f3e3366f2af8a069a82ebc2 (patch)
tree2ec7c42074bf5da7d0a773f3694bcb3641159434
parentcfb51236a57fb0db9ab8e9cc76b6af45984d9133 (diff)
wip: add modes for zig, typescript and c
-rw-r--r--.gitignore2
-rw-r--r--config.org119
2 files changed, 64 insertions, 57 deletions
diff --git a/.gitignore b/.gitignore
index 15ccdb3..d7bd5dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,8 +9,10 @@ elpa/
eshell/
games/
transient/
+tree-sitter/
tutorial/
tramp
+projects
custom.el
config.el
diff --git a/config.org b/config.org
index da14055..49bd438 100644
--- a/config.org
+++ b/config.org
@@ -80,6 +80,7 @@ several annoying things. Looks like pixel scrolling works only on macOS.
(make-directory (file-name-directory backupFilePath) (file-name-directory backupFilePath))
backupFilePath))
(setq make-backup-file-name-function 'my-backup-file-name)
+ (setq create-lockfiles nil)
#+END_SRC
I don't want this autogenerated code to be added to main config file automatically. Now it will be
@@ -241,46 +242,50 @@ recent ones. If I decide to try something new, or open some old project in Emacs
(probably) will be updated.
#+BEGIN_SRC emacs-lisp
(setq major-mode-remap-alist
- '(;; (typescript-mode . typescript-ts-mode)
- (rust-mode . rust-ts-mode)
+ '((typescript-mode . typescript-ts-mode)
+ ;; (rust-mode . rust-ts-mode)
))
(use-package lsp-mode
:init
- ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l")
(setq lsp-keymap-prefix "C-l")
(use-package company)
(use-package rust-mode)
+ (use-package zig-mode)
(use-package go-mode)
(use-package projectile)
+ (use-package typescript-mode)
+ ;; (use-package prettier-js)
(use-package lsp-java
:custom (setq lsp-java-server-install-dir
(concat (getenv "HOME") "/.local/share/jdtls/")))
- ;; (use-package typescript-mode)
- (use-package lsp-tailwindcss
- :after lsp-mode
- :init (setq lsp-tailwindcss-add-on-mode t))
+ ;; (use-package lsp-tailwindcss
+ ;; :after lsp-mode
+ ;; :init (setq lsp-tailwindcss-add-on-mode t))
(use-package web-mode)
;; if you want which-key integration
;;(lsp-mode . lsp-enable-which-key-integration))
:hook ((lsp-mode . company-mode)
- (rust-ts-mode . lsp)
- (rust-ts-mode . projectile-mode)
+ (rust-mode . lsp)
+ ;; (rust-mode . projectile-mode)
(go-mode . lsp)
(java-mode . lsp)
(c++-mode . lsp)
+ (c-mode . lsp)
+ (zig-mode . lsp)
+ ;; (typescript-ts-mode . lsp)
;; (web-mode . lsp)
;; (typescript-mode . add-node-modules-path)
;; (typescript-mode . web-mode)
- (typescript-ts-mode . lsp)
- (typescript-ts-mode . projectile-mode)
- (typescript-ts-mode . prettier-js-mode)
- (tsx-ts-mode . lsp)
- (tsx-ts-mode . projectile-mode)
- (tsx-ts-mode . prettier-js-mode)
- ;; (typescript-mode . (lambda ()
- ;; (projectile-mode)
- ;; (lsp)
- ;; ))
+ ;; (typescript-ts-mode . lsp)
+ ;; (typescript-ts-mode . projectile-mode)
+ ;; (typescript-ts-mode . prettier-js-mode)
+ ;; (tsx-ts-mode . lsp)
+ ;; (tsx-ts-mode . projectile-mode)
+ ;; (tsx-ts-mode . prettier-js-mode)
+ (typescript-ts-mode . (lambda ()
+ (projectile-mode)
+ (lsp)
+ ))
)
:commands lsp
:custom
@@ -306,32 +311,32 @@ Web development tools need more configuration, than most other languages. So all
configuration is done inside web-mode, because most web projects are used with multiple language
servers (most of the time with multiple for single buffer, even).
#+BEGIN_SRC emacs-lisp
- ;; (use-package web-mode
- ;; :init
- ;; (use-package prettier-js)
- ;; (use-package vue-mode)
- ;; (use-package svelte-mode)
- ;; (use-package lsp-tailwindcss
- ;; :after web-mode
- ;; :init (setq lsp-tailwindcss-add-on-mode t))
- ;; :after lsp-mode
- ;; :hook ((web-mode . prettier-js-mode))
- ;; :mode (("\\.ts\\'" . web-mode)
- ;; ("\\.js\\'" . web-mode)
- ;; ("\\.vue\\'" . web-mode)
- ;; ("\\.tsx\\'" . web-mode)
- ;; ("\\.jsx\\'" . web-mode))
- ;; :config
- ;; (setq web-mode-markup-indent-offset 2)
- ;; (setq web-mode-css-indent-offset 2)
- ;; (setq web-mode-code-indent-offset 2)
- ;; (setq web-mode-script-padding 0)
- ;; (setq web-mode-style-padding 0)
- ;; (setq web-mode-block-padding 0)
- ;; (setq web-mode-content-types-alist
- ;; '(("jsx" . "\\.js[x]?\\'"))))
-
- ;; (use-package add-node-modules-path :commands add-node-modules-path)
+ (use-package web-mode
+ :init
+ (use-package prettier-js)
+ (use-package vue-mode)
+ (use-package svelte-mode)
+ (use-package lsp-tailwindcss
+ :after web-mode
+ :init (setq lsp-tailwindcss-add-on-mode t))
+ :after lsp-mode
+ :hook ((web-mode . prettier-js-mode))
+ :mode (("\\.ts\\'" . web-mode)
+ ("\\.js\\'" . web-mode)
+ ("\\.vue\\'" . web-mode)
+ ("\\.tsx\\'" . web-mode)
+ ("\\.jsx\\'" . web-mode))
+ :config
+ (setq web-mode-markup-indent-offset 2)
+ (setq web-mode-css-indent-offset 2)
+ (setq web-mode-code-indent-offset 2)
+ (setq web-mode-script-padding 0)
+ (setq web-mode-style-padding 0)
+ (setq web-mode-block-padding 0)
+ (setq web-mode-content-types-alist
+ '(("jsx" . "\\.js[x]?\\'"))))
+
+ (use-package add-node-modules-path :commands add-node-modules-path)
#+END_SRC
** Tree-sitter
@@ -348,18 +353,18 @@ servers (most of the time with multiple for single buffer, even).
;; (treesit-install-language-grammar 'typescript)
;; )
- (use-package treesit-auto
- :config
- (add-to-list 'treesit-auto-recipe-list
- (make-treesit-auto-recipe
- :lang 'typescript
- :ts-mode 'tsx-ts-mode
- :url "https://github.com/tree-sitter/tree-sitter-typescript"
- :source-dir "tsx/src"
- :ext "\\.tsx\\'"))
- :custom
- (treesit-auto-langs '(tsx))
- )
+ ;; (use-package treesit-auto
+ ;; :config
+ ;; (add-to-list 'treesit-auto-recipe-list
+ ;; (make-treesit-auto-recipe
+ ;; :lang 'typescript
+ ;; :ts-mode 'tsx-ts-mode
+ ;; :url "https://github.com/tree-sitter/tree-sitter-typescript"
+ ;; :source-dir "tsx/src"
+ ;; :ext "\\.tsx\\'"))
+ ;; :custom
+ ;; (treesit-auto-langs '(tsx))
+ ;; )
;; (use-package tree-sitter
;; :init