Welcome in 2026 adding lot of features

This commit is contained in:
nemunaire 2026-01-24 20:30:42 +08:00
commit ea3345a03e
211 changed files with 58 additions and 80682 deletions

View file

@ -1,20 +1,20 @@
; Delete trailing whitespaces on save
(add-hook 'write-file-hooks 'delete-trailing-whitespace)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
;; Mode to collapse code block
(add-hook 'c-mode-common-hook (lambda () (hs-minor-mode 1)))
(add-hook 'lisp-mode-hooks (lambda () (hs-minor-mode 1)))
(add-hook 'java-mode-hooks (lambda () (hs-minor-mode 1)))
(add-hook 'python-mode-hooks (lambda () (hs-minor-mode 1)))
(add-hook 'lisp-mode-hook (lambda () (hs-minor-mode 1)))
(add-hook 'java-mode-hook (lambda () (hs-minor-mode 1)))
(add-hook 'python-mode-hook (lambda () (hs-minor-mode 1)))
; Auto insert C/C++ header guard
(add-hook 'find-file-hooks
(add-hook 'find-file-hook
(lambda ()
(when (and (memq major-mode '(c-mode c++-mode)) (equal (point-min) (point-max)) (string-match ".*\\.hh?" (buffer-file-name)))
(insert-header-guard)
(goto-line 3)
(insert "\n"))))
(add-hook 'find-file-hooks
(add-hook 'find-file-hook
(lambda ()
(when (and (memq major-mode '(c-mode c++-mode)) (equal (point-min) (point-max)) (string-match ".*\\.cc?" (buffer-file-name)))
(insert-header-inclusion))))
@ -28,18 +28,7 @@
(insert-shebang-if-empty "/usr/bin/ruby")))
; Golang
; Modern Go configuration now in packages.el using eglot and go-mode
(add-hook 'go-mode-hook
(lambda ()
(set (make-local-variable 'compile-command) "go build")))
(add-hook 'go-mode-hook
(lambda ()
(when (buffer-empty-p)
(save-excursion
(goto-char (point-min))
(insert "package \n\nimport (\n\t\n)\n")))))
(add-hook 'before-save-hook 'gofmt-before-save)
(eval-after-load "go-mode"
'(require 'flymake-go))

View file

@ -41,10 +41,6 @@
(global-set-key (kbd "C-c k") 'kill-this-buffer)
(put 'narrow-to-region 'disabled nil)
;; Magit
(global-set-key (kbd "C-x g") 'magit-status)
(global-set-key (kbd "C-x M-g") 'magit-dispatch-popup)
;; Don't shift-selection
(setq shift-select-mode nil)

View file

@ -18,39 +18,34 @@
(add-to-list 'auto-mode-alist '("\\.bbclass$" . conf-mode))
(add-to-list 'auto-mode-alist '("\\.bbappend$" . conf-mode))
;; Go mode
(require 'go-mode-autoloads)
;; Changelog mode
(add-to-list 'auto-mode-alist '("COMMIT_EDITMSG" . change-log-mode))
;; Edje-mode
(require 'edje-mode)
(add-to-list 'auto-mode-alist '("\\.edc$" . edje-mode))
;; web-mode
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.svelte$" . web-mode))
(setq web-mode-code-indent-offset 4)
(setq web-mode-css-indent-offset 4)
(setq web-mode-markup-indent-offset 4)
(setq web-mode-script-padding 4)
(setq web-mode-style-padding 4)
(setq web-mode-void-elements
'("area" "base" "br" "command" "embed" "hr" "img" "input" "keygen"
"link" "meta" "param" "source" "track" "wbr" "tmpl_var"))
;; Now configured in packages.el with LSP support and prettier auto-formatting
;(require 'web-mode)
;(add-to-list 'auto-mode-alist '("\\.svelte$" . web-mode))
;(setq web-mode-code-indent-offset 4)
;(setq web-mode-css-indent-offset 4)
;(setq web-mode-markup-indent-offset 4)
;(setq web-mode-script-padding 4)
;(setq web-mode-style-padding 4)
;(setq web-mode-void-elements
; '("area" "base" "br" "command" "embed" "hr" "img" "input" "keygen"
; "link" "meta" "param" "source" "track" "wbr" "tmpl_var"))
;; Vue.js-mode
(require 'vue-mode)
(add-to-list 'auto-mode-alist '("\\.vue$" . vue-mode))
;(setq mmm-js-mode-enter-hook (lambda () (setq syntax-ppss-table nil)))
;(setq mmm-typescript-mode-enter-hook (lambda () (setq syntax-ppss-table nil)))
;(setq mmm-js-mode-enter-hook (lambda () (setq syntax-ppss-table nil)))
;(setq mmm-typescript-mode-enter-hook (lambda () (setq syntax-ppss-table nil)))
(defun fix-mmm-syntax ()
(save-restriction
(setq-local syntax-ppss-table typescript-mode-syntax-table)
))
(add-hook 'mmm-typescript-mode-enter-hook 'fix-mmm-syntax)
(setq js-indent-level 2)
;; js-indent-level now configured in packages.el (set to 4 spaces)
;(setq js-indent-level 2)
(setq vue-html-extra-indent 2)
(setq-default indent-tabs-mode nil)
@ -93,7 +88,6 @@
)
;; Org-mode
;(require 'org-install)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
@ -107,17 +101,3 @@
;; Markdown-mode
(add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode))
;; Python-mode
;(when (load "flymake" t)
; (defun flymake-pyflakes-init ()
; (let* ((temp-file (flymake-init-create-temp-buffer-copy
; 'flymake-create-temp-inplace))
; (local-file (file-relative-name
; temp-file
; (file-name-directory buffer-file-name))))
; (list "pyflakes" (list local-file))))
;
; (add-to-list 'flymake-allowed-file-name-masks
; '("\\.py\\'" flymake-pyflakes-init)))
;(add-hook 'find-file-hook 'flymake-find-file-hook)

View file

@ -1,17 +0,0 @@
(setq project-roots
`(("Django project"
:root-contains-files ("manage.py")
:filename-regex ,(regexify-ext-list '(py html css js sh))
:exclude-paths '("contrib"))))
(global-set-key (kbd "C-c p f") 'project-root-find-file)
(global-set-key (kbd "C-c p g") 'project-root-grep)
(global-set-key (kbd "C-c p a") 'project-root-ack)
(global-set-key (kbd "C-c p d") 'project-root-goto-root)
(global-set-key (kbd "C-c p l") 'project-root-browse-seen-projects)
(global-set-key (kbd "C-c p s")
(lambda () (interactive)
(with-project-root
(ansi-term (getenv "SHELL")
(concat (car project-details) "-shell")))