diff --git a/.emacs.d/gost-r-7-0-5-2008-numeric.csl b/.emacs.d/gost-r-7-0-5-2008-numeric.csl new file mode 100644 index 0000000..9b18065 --- /dev/null +++ b/.emacs.d/gost-r-7-0-5-2008-numeric.csl @@ -0,0 +1,224 @@ + + diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 85bfbd4..8bab583 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -583,6 +583,26 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer." (add-hook 'visual-fill-column-mode-hook (lambda () (setq visual-fill-column-center-text t)))) +(use-package accent + :straight t + :init + (general-define-key + :states '(normal) + "gs" #'accent-menu) + (general-define-key + :states '(normal insert) + "M-n" #'accent-menu) + :commands (accent-menu) + :config + (general-define-key + :keymaps 'popup-menu-keymap + "C-j" #'popup-next + "C-k" #'popup-previous + "M-j" #'popup-next + "M-k" #'popup-previous) + (setq accent-custom '((a (ā)) + (A (Ā))))) + (use-package projectile :straight t :config @@ -1287,6 +1307,34 @@ influence of C1 on the result." "l" 'lsp-execute-code-action "e" 'list-flycheck-errors) +(defun my/lsp--progress-status () + "Returns the status of the progress for the current workspaces." + (-let ((progress-status + (s-join + "|" + (-keep + (lambda (workspace) + (let ((tokens (lsp--workspace-work-done-tokens workspace))) + (unless (ht-empty? tokens) + (mapconcat + (-lambda ((&WorkDoneProgressBegin :message? :title :percentage?)) + (concat (if percentage? + (if (numberp percentage?) + (format "%.0f%%%% " percentage?) + (format "%s%%%% " percentage?)) + "") + (let ((msg (url-unhex-string (or message\? title)))) + (if (string-match-p "\\`file:///" msg) + (file-name-nondirectory msg))))) + (ht-values tokens) + "|")))) + (lsp-workspaces))))) + (unless (s-blank? progress-status) + (concat lsp-progress-prefix progress-status)))) + +(with-eval-after-load 'lsp-mode + (advice-add 'lsp--progress-status :override #'my/lsp--progress-status)) + (use-package flycheck :straight t :config @@ -2150,16 +2198,16 @@ Returns ( . ) or nil." (setq plantuml-default-exec-mode 'executable) (setq plantuml-indent-level 2) (setq my/plantuml-indent-regexp-return "^\s*return\s+.+$") - (add-to-list - 'plantuml-indent-regexp-end - my/plantuml-indent-regexp-return) + (;; (add-to-list + ;; 'plantuml-indent-regexp-end + ;; my/plantuml-indent-regexp-return) + ) (add-to-list 'auto-mode-alist '("\\.plantuml\\'" . plantuml-mode)) (add-to-list 'auto-mode-alist '("\\.uml\\'" . plantuml-mode)) - (add-hook 'plantuml-mode-hook #'smartparens-mode)) - -(general-nmap - :keymaps 'plantuml-mode-map - "RET" 'plantuml-preview) + (add-hook 'plantuml-mode-hook #'smartparens-mode) + (general-nmap + :keymaps 'plantuml-mode-map + "RET" 'plantuml-preview)) (use-package subed :straight (:host github :repo "rndusr/subed" :files ("subed/*.el") @@ -2672,6 +2720,15 @@ Returns ( . ) or nil." (require 'evil-org-agenda) (evil-org-agenda-set-keys)) +(defun my/export-rel-url (path desc format) + (cl-case format + (html (format "%s" path (or desc path))) + (latex (format "\\href{%s}{%s}" path (or desc path))) + (otherwise path))) + +(with-eval-after-load 'org + (org-link-set-parameters "rel" :follow #'browse-url :export #'my/export-rel-url)) + (use-package jupyter :straight t :after (org) @@ -3429,7 +3486,7 @@ KEYS is a list of cons cells like (