* AWK
- tree-sitter grammar
- flycheck module (uses gawk)
- formatting via C-mode
- ya-snippets (Melpa package)
no language server available.
#+begin_src emacs-lisp
(use-package awk-ts-mode
:hook (awk-mode . yas-minor-mode)
(awk-mode . flycheck-mode)
:bind (
:map awk-mode-map (
("C-c C-f" . my/indent-buffer)
)
)
)
(push '(awk-mode . awk-ts-mode) major-mode-remap-alist)
#+end_src
* bash
- there is a language server available, but it has not been installed
- tree-sitter grammar
- flycheck module (uses shellcheck)
- formatting:
#+begin_src emacs-lisp
(require 'shell)
(use-package emacs
:hook (sh-mode . yas-minor-mode)
(sh-mode . flycheck-mode)
:bind (
:map shell-mode-map (
("C-c C-f" . my/indent-buffer)
)
)
)
#+end_src
* XML
** Linting
#+begin_src emacs-lisp
(use-package nxml
:hook
(nxml-mode . flycheck-mode))
#+end_src
** Formatting
Use /indent-region/ .
xml-format not useful.
* Templating
** mustache - logic-less templates
https://en.wikipedia.org/wiki/Mustache_(template_system)
Processors available in many computation-languages.
TCL implementations:\\
https://github.com/ianka/mustache.tcl/tree/master
https://core.tcl-lang.org/akupries/mustache/doc/trunk/embedded/md/doc/files/mustache_introduction.md
#+begin_src emacs-lisp
(use-package mustache-mode
)
#+end_src
*** TODO check web-mode
very popular, has support for mustache-templates\\
https://web-mode.org/
- also supports many other templating-languages
- features: folding, syntax highlighting
- CSS
*** E-Lisp processor
implements spec 1.0.2, see https://github.com/Wilfred/mustache.el
#+begin_src emacs-lisp
(use-package mustache
)
#+end_src
* Graphics
** Drawing with asymptote
#+begin_src emacs-lisp
(require 'asy-mode)
#+end_src
** GraphViz
#+begin_src emacs-lisp
(use-package graphviz-dot-mode
:config
(setq graphviz-dot-indent-width 3))
(add-to-list 'org-src-lang-modes '("dot" . graphviz-dot))
#+end_src
** UML
#+begin_src emacs-lisp
(use-package plantuml-mode)
(add-to-list 'auto-mode-alist '("\\.puml\\'" . plantuml-mode))
(setq plantuml-jar-path (expand-file-name (concat emacsen-dir "/java/plantuml/plantuml.jar")))
(setq plantuml-default-exec-mode 'jar)
#+end_src
#+begin_src emacs-lisp
(setq org-plantuml-jar-path plantuml-jar-path)
(add-to-list 'org-src-lang-modes '("plantuml" . plantuml))
(org-babel-do-load-languages 'org-babel-load-languages '((plantuml . t)))
#+end_src
#+begin_src emacs-lisp
(use-package flycheck-plantuml)
(with-eval-after-load 'flycheck
(flycheck-plantuml-setup))
#+end_src
Flowcharts with ascii art:
#+begin_src emacs-lisp
(setq org-ditaa-jar-path (concat emacsen-dir "java/plantuml/ditaa.jar"))
(org-babel-do-load-languages
'org-babel-load-languages
'((ditaa . t)
(dot . t)
(plantuml . t))
)
#+end_src
* Bye
#+begin_src emacs-lisp
;;; programming-rudimentary-setup.el ends here
#+end_src