@@ 152,7 152,8 @@ https://git.sr.ht/~w96k/dotfiles/tree/master/item/emacs
;; (package-install 'exec-path-from-shell)
(package-install 'expand-region)
;; (package-install 'flymake-php)
- ;; (package-install 'flycheck)
+ (package-install 'flycheck)
+ (package-install 'flycheck-phpstan)
;; (package-install 'phpactor)
;;(package-install 'robe)
(package-install 'geiser)
@@ 181,6 182,7 @@ https://git.sr.ht/~w96k/dotfiles/tree/master/item/emacs
;;(package-install 'php-eldoc)
;;(package-install 'phps-mode)
(package-install 'realgud)
+ (package-install 'realgud-xdebug)
;; (package-install 'kiwix)
;;(package-install 'sml-mode)
(package-install 'sly)
@@ 201,12 203,13 @@ https://git.sr.ht/~w96k/dotfiles/tree/master/item/emacs
;; (package-install 'isearch-mb)
(package-install 'visual-fill-column)
;; (package-install 'browse-kill-ring)
- ;; (package-install 'corfu)
+ (package-install 'corfu)
;; (package-install 'inf-ruby)
(package-install 'yaml-mode)
;; (package-install 'geben)
(package-install 'link-hint)
(package-install 'whole-line-or-region)
+ (package-install 'quickrun)
;; (package-install 'psysh)
;; (package-install 'restclient)
))
@@ 256,17 259,8 @@ JIT компиляция elisp кода в машинный
шрифтов по количеству доступных символов после Unifont. Unifont я не
стал использовать, потому что иксы замыливают этот пиксельный шрифт, что
делает его использование крайне неприятным.
-#+begin_src emacs-lisp :tangle nil
- ;; Do not resize the frame at this early stage.
- (setq frame-inhibit-implied-resize t)
- (setq use-dialog-box nil)
-
- ;;; Disable some gui
- (scroll-bar-mode -1)
- (tool-bar-mode -1)
- (menu-bar-mode -1)
- ;;(tooltip-mode -1)
+#+begin_src emacs-lisp :tangle early-init.el
;; Change mode-line-modes to show only major mode
(defvar mode-line-major-mode
(let ((recursive-edit-help-echo "Recursive edit, type C-M-c to get out"))
@@ 311,6 305,19 @@ JIT компиляция elisp кода в машинный
mode-line-position
mode-line-end-spaces
))
+#+end_src
+
+
+#+begin_src emacs-lisp :tangle nil
+ ;; Do not resize the frame at this early stage.
+ (setq frame-inhibit-implied-resize t)
+ (setq use-dialog-box nil)
+
+ ;;; Disable some gui
+ (scroll-bar-mode -1)
+ (tool-bar-mode -1)
+ (menu-bar-mode -1)
+ ;;(tooltip-mode -1)
;;; Changing emacs default setting through customize
(custom-set-variables
@@ 796,14 803,19 @@ I use built-in project.el
** Дополнение
** Дебаггер
-#+begin_src emacs-lisp :tangle nil
+#+begin_src emacs-lisp :tangle init.el
(when (package-loaded? "realgud")
(load "~/.emacs.d/site-lisp/realgud-xdebug/realgud-xdebug.el"))
#+end_src
+#+begin_src emacs-lisp :tangle init.el
+ (when (package-loaded? "geben")
+ (setq geben-dbgp-default-port 9003))
+#+end_src
+
*** Автодополнение кода и документация
По большей части я использую дефолтный Completion Buffer и Corfu
-#+begin_src elisp :tangle nil
+#+begin_src elisp :tangle init.el
(when (package-loaded? "corfu")
(progn
(setq corfu-preview-current 'nil
@@ 954,6 966,15 @@ I use built-in project.el
#+end_src
** Линтеры
+#+begin_src emacs-lisp :tangle init.el
+ (defun my-php-mode-setup ()
+ "My PHP-mode hook."
+ (require 'flycheck-phpstan)
+ (flycheck-mode t))
+
+ (add-hook 'php-mode-hook 'my-php-mode-setup)
+#+end_src
+
#+BEGIN_SRC emacs-lisp :tangle nil
;; (add-hook 'php-mode-hook 'flymake-php-load)
;; (add-hook 'php-mode-hook 'flymake-phpstan-turn-on)
@@ 1032,6 1053,13 @@ Sudo-edit
(add-hook 'prog-mode-hook 'rmsbolt-mode)
#+end_src
+** Быстрый запуск программы
+#+begin_src emacs-lisp
+ (when (package-loaded? "quickrun")
+ (define-key global-map (kbd "C-c C-c") 'quickrun))
+#+end_src
+
+
* Языки программирования
** Common Lisp
*** REPL
@@ 1095,73 1123,41 @@ Sudo-edit
*** PHP-Mode
Необходимо скачать и распаковать мануал PHP (в формате html) в
директорию ~~/.emacs.d/php-manual/~.
-#+begin_src emacs-lisp :tangle nil
+#+begin_src emacs-lisp :tangle init.el
;; (add-to-list 'load-path "~/.emacs.d/site-lisp/realgud-xdebug/")
;; (require 'realgud-xdebug)
- (defun init-php-mode ()
- (eglot-ensure))
+ ;; (defun init-php-mode ()
+ ;; (eglot-ensure))
(with-eval-after-load 'php-mode
- (custom-set-variables '(lsp-phpactor-path "/home/w96k/projects/phpactor"))
+ (custom-set-variables '(lsp-phpactor-path "/home/w96k/php/phpactor"))
;; (add-hook 'php-mode-hook #'init-php-mode)
)
- (when (package-loaded? "transient")
- (progn
- (transient-define-prefix
- php ()
- "Php"
- [["Class"
- ("cc" "Copy" phpactor-copy-class)
- ("cn" "New" phpactor-create-new-class)
- ("cr" "Move" phpactor-move-class)
- ("ci" "Inflect" phpactor-inflect-class)
- ("n" "Namespace" phpactor-fix-namespace)]
- ["Properties"
- ("a" "Accessor" phpactor-generate-accessors)
- ("pc" "Constructor" phpactor-complete-constructor)
- ("pm" "Add missing props" phpactor-complete-properties)
- ("r" "Rename var locally" phpactor-rename-variable-local)
- ("R" "Rename var in file" phpactor-rename-variable-file)]
- ["Extract"
- ("ec" "constant" phpactor-extract-constant)
- ("ee" "expression" phpactor-extract-expression)
- ("em" "method" phpactor-extract-method)]
- ["Methods"
- ("i" "Implement Contracts" phpactor-implement-contracts)
- ("m" "Generate method" phpactor-generate-method)]
- ["Navigate"
- ("x" "List refs" phpactor-list-references)
- ("X" "Replace refs" phpactor-replace-references)
- ("." "Goto def" phpactor-goto-definition)]
- ["Phpactor"
- ("s" "Status" phpactor-status)
- ("u" "Install" phpactor-install-or-update)]])))
-
(when (package-loaded? "php-mode")
(progn
(add-hook 'php-mode-hook 'php-enable-symfony2-coding-style)
- (setq lsp-intelephense-php-version "8.1.6")
+ (setq lsp-intelephense-php-version "8.1.16")
(defvar phpactor-executable "~/.local/bin/phpactor")
- (custom-set-variables '(lsp-phpactor-path "~/.local/bin/phpactor"))
+ (custom-set-variables '(lsp-phpactor-path "~/usr/local/bin/phpactor"))
(add-hook 'php-mode-hook
'(lambda ()
- (require 'yasnippet)
- (require 'yasnippet-snippets)
+ ;; (require 'yasnippet)
+ ;; (require 'yasnippet-snippets)
(set-fill-column 120)
;; (make-local-variable 'eldoc-documentation-function)
;; (setq eldoc-documentation-function
;; 'phpactor-hover)
- (yas-minor-mode t)
+ ;; (yas-minor-mode t)
(define-key php-mode-map (kbd "C-c h") 'php-quickhelp-at-point)))
(setq php-manual-path
- "~/.emacs.d/php-manual/"
- php-quickhelp-dir "~/.emacs.d/php-manual/"
+ "~/php/php-manual/"
+ php-quickhelp-dir "~/php/php-manual/"
php-quickhelp--dest "~/.emacs.d/php-manual/php_manual_en.json")
@@ 1641,6 1637,8 @@ The main way to interact with SQL is using org-mode
** Браузер
#+begin_src emacs-lisp :tangle init.el
+ (setq browse-url-browser-function #'eww-browse-url)
+
(add-hook 'eww-mode-hook
(lambda ()
(set-fill-column 80)