KLWLWPHYWZDM5JMU3JIXGIQT3MD4GWVLYAJZJOIJ3ZR3NG2XPQOQC )
(use-package combobulate:preface;; You can customize Combobulate's key prefix here.;; Note that you may have to restart Emacs for this to take effect!(setq combobulate-key-prefix "C-c o");; Optional, but recommended.;;;; You can manually enable Combobulate with `M-x;; combobulate-mode'.:hook((python-ts-mode . combobulate-mode)(js-ts-mode . combobulate-mode)(html-ts-mode . combobulate-mode)(css-ts-mode . combobulate-mode)(yaml-ts-mode . combobulate-mode)(typescript-ts-mode . combobulate-mode)(json-ts-mode . combobulate-mode)(tsx-ts-mode . combobulate-mode));; Amend this to the directory where you keep Combobulate's source;; code.:load-path ("ve/combobulate")))
(elisp "https://github.com/Wilfred/tree-sitter-elisp")(html "https://github.com/tree-sitter/tree-sitter-html")(javascript "https://github.com/tree-sitter/tree-sitter-javascript" "master" "src")(json "https://github.com/tree-sitter/tree-sitter-json")(java "https://github.com/tree-sitter/tree-sitter-java")
)
(toml "https://github.com/tree-sitter/tree-sitter-toml")(tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")(typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")(yaml "https://github.com/ikatyang/tree-sitter-yaml") )
#+begin_src emacs-lisp(setq treesit-query-dir (concat emacsen-dir "treesit/queries/"));; (setq treesit-query-dir "~/emacsen/treesit/queries/")#+end_src**** TODO MovementUsing ts-movement turned out not to be useful.**** Selectionsvery important when working with a REPL:#+begin_src emacs-lisp(use-package expreg)#+end_srcBind keys (example):(define-key map ("C-+") 'expreg-expand)(define-key map ("C--") 'expreg-contract)Easiest solution found: expreg.el. Just 2 commands.**** FoldingUsing tree-sitter-fold turned out not to be useful.** Others*** TCL/TK
Although flymake is an Emacs built-in, flycheck has more checkers and often works without further configuration when a checker/linter is available vi the OS path settings.
Although flymake is an Emacs built-in, flycheck has more checkers andoften works without further configuration when achecker/linter is available via the OS path settings.** My defaultFlycheck is very well documented:https://www.flycheck.org/en/latest/user/installation.htmlhttps://www.flycheck.org/en/latest/user/quickstart.htmlhttps://www.flycheck.org/en/latest/community/extensions.html#language-supportflycheck does not explicitly support windows, but there are rarely issues on windows.Most checkers/linters are external programs, they have to be installed. Theconfiguration is found in the language specific section,After installation, it is easy to check the setup. From the docs:#+begin_verseVisit a Python or Javascript file and check whether your Flycheck setup is complete with C-c ! v.#+end_verseAs it is turned on per default, it has to be explicitly turned off in modes,where this is unwanted (e.g. if a flymake-checker is preferred). This is donevia Hooks.Diagnostics: list-flycheck-errors#+begin_src emacs-lisp(use-package flycheck:ensure t)#+end_src
*** Gnu GlobalGlobal has 5 languages built-in and supports ctags with all its 150+ languages.A reasonable solution using Gnu Global seems to be:https://github.com/leoliu/ggtags- completion- referencecomes with integration for completion-at-point, eldoc- and xref-integration.#+begin_src emacs-lisp(use-package ggtags:bind ( :map ggtags-navigation-map("M-o" . nil)))#+end_src**** PrerequisitesInstall- Gnu Global- Python: pygments
* Folding
** HydraAn xref-Hydra may be more general and preferrable.#+begin_src emacs-lisp(pretty-hydra-define hydra-dumb-jump (:color blue)("Dumb Jump"(("b" dumb-jump-back "Back")("l" dumb-jump-quick-look "Quick look")("j" dumb-jump-go "Go")("i" dumb-jump-go-prompt "Prompt")("o" dumb-jump-go-other-window "Other window")("e" dumb-jump-go-prefer-external "Go external")("x" dumb-jump-go-prefer-external-other-window "Go external other window"))))#+end_src# * Folding
(use-package hideshow)
(use-package hideshow:config(defun hs-cycle (&optional level)(interactive "p")(let (message-log-max(inhibit-message t))(if (= level 1)(pcase last-command('hs-cycle(hs-hide-level 1)(setq this-command 'hs-cycle-children))('hs-cycle-children;; TODO: Fix this case. `hs-show-block' needs to be;; called twice to open all folds of the parent;; block.(save-excursion (hs-show-block))(hs-show-block)(setq this-command 'hs-cycle-subtree))('hs-cycle-subtree(hs-hide-block))(_(if (not (hs-already-hidden-p))(hs-hide-block)(hs-hide-level 1)(setq this-command 'hs-cycle-children))))(hs-hide-level level)(setq this-command 'hs-hide-level))))
#+begin_src emacs-lisp(defun my/outline-overview ()"Show only outline headings."(outline-show-all)(outline-hide-body)))#+end_src* Accessing cheat-sheetsThe DP-Proxy blocks the requests.#+begin_src emacs-lisp(if sys/linuxp(use-package cheat-sh))#+end_src* Bye