I showed you my source code, pls respond
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
3.3 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. #+TITLE: Development
  2. #+AUTHOR: Christopher James Hayward
  3. #+EMAIL: chris@chrishayward.xyz
  4. #+PROPERTY: header-args:emacs-lisp :tangle development.el :comments org
  5. #+PROPERTY: header-args:shell :tangle no
  6. #+PROPERTY: header-args :results silent :eval no-export :comments org
  7. #+OPTIONS: num:nil toc:nil todo:nil tasks:nil tags:nil
  8. #+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil
  9. Support for individual programming languages, has a hard dependency on the [[file:projects.org][Projects]] module for integration with *LSP*[fn:1] / *DAP*[fn:2]
  10. * HTTP
  11. Interactive with *HTTP* endpoints using the *ob-http*[fn:6] package. You can see how it works in my post [[file:../docs/posts/kanye-as-a-service.org.gpg][Kanye as a Service]]. Essentialy it adds interactive *HTTP* blocks that can output their results in place.
  12. #+begin_src emacs-lisp
  13. (use-package ob-http
  14. :after org
  15. :config (org-babel-do-load-languages
  16. 'org-babel-load-languages '((http . t))))
  17. #+end_src
  18. * YAML
  19. Support for YAML files.
  20. #+begin_src emacs-lisp
  21. (use-package yaml-mode)
  22. #+end_src
  23. * C/C++
  24. Add support for the *C/C++* family of languages via the *CCLS*[fn:7] language server.
  25. + Install requirements
  26. + Integrate with *LSP*[fn:2]
  27. + Integrate with *DAP*[fn:1]
  28. + Load babel language modules
  29. + Create new structure templates
  30. * ~<cc~ for *C*
  31. * ~<cpp~ for *C++*
  32. #+begin_src emacs-lisp
  33. (use-package ccls
  34. :hook ((c-mode c++-mode objc-mode cuda-mode) .
  35. (lambda ()
  36. (require 'ccls)
  37. (lsp-deferred)))
  38. :config (add-to-list 'org-structure-template-alist '("cc" . "src C"))
  39. (add-to-list 'org-structure-template-alist '("cpp" . "src C++"))
  40. (org-babel-do-load-languages 'org-babel-load-languages '((C . t))))
  41. #+end_src
  42. * PlantUML
  43. Download and install *PlantUML*[fn:8], a text-based markup language for creating UML diagrams. You can read my notes about the tool [[file:../docs/notes/plantuml.org.gpg][PlantUML]] here. Support added through the *plantuml-mode*[fn:9] package.
  44. + Install requirements
  45. + Load the babel module for *PlantUML*[fn:8]
  46. + Create a structure template with ~<pl~
  47. + Toggle inline imagines with =SPC t i=
  48. #+begin_src emacs-lisp
  49. (use-package plantuml-mode
  50. :after org
  51. :custom (plantuml-default-exec-mode 'jar)
  52. (plantuml-jar-path "~/.local/bin/plantuml.jar")
  53. (org-plantuml-jar-path (expand-file-name "~/.local/bin/plantuml.jar"))
  54. (org-startup-with-inline-images t)
  55. :config (add-to-list 'org-src-lang-modes '("plantuml" . plantuml))
  56. (add-to-list 'org-structure-template-alist '("pl" . "src plantuml"))
  57. (org-babel-do-load-languages 'org-babel-load-languages '((plantuml . t)))
  58. (dotfiles/leader "ti" '(org-toggle-inline-images :which-key "Images")))
  59. #+end_src
  60. * Footnotes
  61. [fn:1] https://microsoft.github.io/debug-adapter-protocol
  62. [fn:2] https://microsoft.github.io/language-server-protocol
  63. [fn:3] https://golang.org
  64. [fn:4] https://pkg.go.dev/golang.org/x/tools/gopls
  65. [fn:5] https://emacswiki.org/emacs/GoMode
  66. [fn:6] https://github.com/zweifisch/ob-http
  67. [fn:7] https://github.com/MaskRay/ccls
  68. [fn:8] https://plantuml.com
  69. [fn:9] https://github.com/skuro/plantuml-mode
  70. [fn:10] https://pypi.org/project/python-language-server/
  71. [fn:11] https://emacswiki.org/emacs/PythonProgrammingInEmacs
  72. [fn:12] https://python.org