@@ 1,7 1,8 @@
-#+TITLE: Конфигурация Emacs
+#+TITLE: Конфигурация Emacs
#+AUTHOR: Кириллов <w96k.dev> Михаил
#+OPTIONS: toc:nil
#+PROPERTY: header-args:elisp :results silent
+#+STARTUP: showeverything
* Вклады
Конфигурация составлена из моего кода, а также кода из конфигураций
@@ 84,7 85,6 @@ https://git.sr.ht/~w96k/dotfiles/tree/master/item/emacs
| Direnv | Изменение окружений при входе в директорию |
| Dumb Jump | Прыжки по определениям при помощи grep и ему подобных |
| Docker | Интерфейс к Docker |
-| LSP-mode | LSP клиент |
| Exec Path From Shell | Синхронизация путей чтения из .bashrc в Emacs |
| Expand Region | Семантическое расширение выделения на курсоре |
| Robe | Прыжки по определениям в Ruby |
@@ 130,8 130,7 @@ https://git.sr.ht/~w96k/dotfiles/tree/master/item/emacs
(package-install 'auctex)
(package-install 'rmsbolt)
(package-install 'beginend)
- (package-install 'composer)
- (package-install 'mini-modeline)
+ ;; (package-install 'composer)
(package-install 'cinspect)
(package-install 'debian-el)
(package-install 'dpkg-dev-el)
@@ 167,11 166,10 @@ https://git.sr.ht/~w96k/dotfiles/tree/master/item/emacs
;;(package-install 'swiper)
;;(package-install 'sqlite3)
(package-install 'org-roam)
- (package-install 'org-roam-ui)
+ ;; (package-install 'org-roam-ui)
(package-install 'org-download)
(package-install 'org-babel-eval-in-repl)
;;(package-install 'ob-php)
- (package-install 'lsp-mode)
(package-install 'on-screen)
;;(package-install 'nix-mode)
(package-install 'pdf-tools)
@@ 484,7 482,7 @@ JIT компиляция elisp кода в машинный
(customize-set-variable 'scroll-preserve-screen-position t)
#+END_SRC
** Объединение эхо зоны и модлайна
-#+begin_src emacs-lisp :tangle init.el
+#+begin_src emacs-lisp :tangle nil
(when (package-loaded? "mini-modeline")
(setq mini-modeline-r-format
'("%e"
@@ 1031,16 1029,22 @@ I use built-in project.el
** Клиент LSP
#+begin_src emacs-lisp :tangle init.el
- (when (package-loaded? "lsp-mode")
- (progn
- (define-key prog-mode-map (kbd "C-c h") 'eldoc)
- ;; (define-key prog-mode-map (kbd "M-<tab>") 'completion-at-point)
- (define-key prog-mode-map (kbd "<f6>") 'xref-find-definitions)
-
- (add-hook 'sql-mode-hook 'lsp)
- (add-hook 'php-mode-hook 'lsp)
- (add-hook 'c-mode-hook 'lsp-mode)
- (add-hook 'c++-mode-hook 'lsp-mode)))
+ (with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs '(php-mode . ("intelephense" "--stdio")))
+
+ ;; No event buffers, disable providers cause a lot of hover traffic. Shutdown unused servers.
+ (setq eglot-events-buffer-size 0
+ eglot-ignored-server-capabilities '(:hoverProvider
+ :documentHighlightProvider)
+ eglot-autoshutdown t))
+
+ ;; Show all of the available eldoc information when we want it. This way Flymake errors
+ ;; don't just get clobbered by docstrings.
+ (add-hook 'eglot-managed-mode-hook
+ (lambda ()
+ "Make sure Eldoc will show us all of the feedback at point."
+ (setq-local eldoc-documentation-strategy
+ #'eldoc-documentation-compose)))
#+end_src
** Линтеры
@@ 1065,7 1069,7 @@ I use built-in project.el
** Сессия
#+BEGIN_SRC emacs-lisp :tangle init.el
- (desktop-save-mode 1)
+ (desktop-save-mode 0)
#+END_SRC
** Скроллинг
#+BEGIN_SRC emacs-lisp :tangle init.el
@@ 1191,7 1195,6 @@ html) в директорию ~~/.emacs.d/php-manual/~.
(when (package-loaded? "php-mode")
(progn
(add-hook 'php-mode-hook 'php-enable-symfony2-coding-style)
- ;; (setq lsp-intelephense-php-version "7.4.26")
(setq lsp-intelephense-php-version "8.1.6")
;; (defvar phpactor-executable "~/.bin/phpactor")
@@ 1375,8 1378,7 @@ The main way to interact with SQL is using org-mode
(screen . nil)
(shell . t)
(sql . t)
- (js . t)
- (sqlite . t)))
+ (js . t)))
(defun org-babel-edit-prep:sql (babel-info)
(setq-local buffer-file-name (->> babel-info caddr (alist-get :tangle)))
@@ 1443,7 1445,6 @@ The main way to interact with SQL is using org-mode
(when (package-loaded? "org-roam")
(progn
(setq org-roam-directory (file-truename "~/projects/at-w96k/content/digarden/")
- org-roam-graph-viewer "abrowser"
org-roam-v2-ack t
org-roam-completion-everywhere t
org-roam-index-file (concat org-roam-directory "/20210409054712-жизнь.org"))
@@ 1451,7 1452,7 @@ The main way to interact with SQL is using org-mode
;; (load "org-roam-ui-autoloads")
;; (org-roam-db-sync)
- (org-roam-db-autosync-mode t)
+ ;; (org-roam-db-autosync-mode t)
(defun org-roam-jump-to-index ()
"Stub of recreating the function from V1"