Compare commits

...

2 commits

2 changed files with 143 additions and 125 deletions

View file

@ -75,16 +75,15 @@
(use-package ob-tangle) (use-package ob-tangle)
(let ((src (concat user-emacs-directory "init.org")) (let ((src (concat user-emacs-directory "init.org"))
(tgt (concat user-emacs-directory "init.el"))) (tgt (concat user-emacs-directory "init.el")))
(if (file-newer-than-file-p src tgt) (when (file-newer-than-file-p src tgt)
(progn (delete-file tgt)
(message "init.org has been changed, tangling...") (org-babel-tangle-file src tgt "emacs-lisp")
(org-babel-tangle-file src tgt "emacs-lisp") ;; this is a good time to check if the crafted-emacs repo is fresh
;; this is a good time to check if the crafted-emacs repo is fresh ;; - we just updated the init.org file so we expect changes.
;; - we just updated the init.org file so we expect changes. ;; - or this is the initial tangling and we need the repo to exist.
;; - or this is the initial tangling and we need the repo to exist. (message "checking crafted emacs repo...")
(message "checking crafted emacs repo...") (check-crafted-emacs-fresh-repo)
(check-crafted-emacs-fresh-repo) ))
)))
;; Configure Crafted Emacs ;; Configure Crafted Emacs
(setq crafted-package-system 'elpaca) (setq crafted-package-system 'elpaca)

249
init.org
View file

@ -145,7 +145,7 @@ metadata and get the version number from the JSON.
#+RESULTS: #+RESULTS:
: pti-latest-github-release : pti-latest-github-release
#+BEGIN_SRC emacs-lisp :results value #+BEGIN_SRC emacs-lisp :tangle no :results value
(pti-latest-github-release "plantuml/plantuml") (pti-latest-github-release "plantuml/plantuml")
#+END_SRC #+END_SRC
@ -1260,8 +1260,7 @@ Here is a snapshot of the keybindings dd <2024-07-30 Tue>.
(auth-source-pass-get 'secret "customer/jira")) (auth-source-pass-get 'secret "customer/jira"))
:bind (("C-c ig" . 'org-jira-get-issues) :bind (("C-c ig" . 'org-jira-get-issues)
("C-c ip" . 'org-jira-get-projects) ("C-c ip" . 'org-jira-get-projects)
("C-c ij" . 'org-jira-get-issues-from-custom-jql) ("C-c ij" . 'org-jira-get-issues-from-custom-jql)))
("C-c cc" . 'org-jira-add-comment)))
#+END_SRC #+END_SRC
#+RESULTS: #+RESULTS:
@ -1453,6 +1452,9 @@ We can add a list of queries
#+END_SRC #+END_SRC
** Programming Support Infrastructure ** Programming Support Infrastructure
#+BEGIN_SRC emacs-lisp
(report-time-since-load "Programming - Infrastructure")
#+END_SRC
*** Integration with LSP Servers for language support *** Integration with LSP Servers for language support
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@ -1499,12 +1501,12 @@ We can add a list of queries
*** Flymake Support *** Flymake Support
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(after-load 'flymake (defun pti-flymake-evil-keybindings ()
(evil-define-key 'normal flymake-mode-map (evil-define-key 'normal flymake-mode-map
(kbd "]d") #'flymake-goto-next-error (kbd "]d") #'flymake-goto-next-error
(kbd "[d") #'flymake-goto-prev-error (kbd "[d") #'flymake-goto-prev-error))
))
(add-hook 'flymake-mode-hook #'pti-flymake-evil-keybindings)
#+END_SRC #+END_SRC
@ -1634,6 +1636,10 @@ see also [[https://www.masteringemacs.org/article/how-to-get-started-tree-sitter
**** TODO Evaluate if Electric Return is still useful **** TODO Evaluate if Electric Return is still useful
** Configure Selected Languages ** Configure Selected Languages
#+BEGIN_SRC emacs-lisp
(report-time-since-load "Programming - Selected Languages")
#+END_SRC
*** Rust Support *** Rust Support
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@ -1827,119 +1833,124 @@ Map the keymap consistently to the eglot mappings.
** Debugger Support ** Debugger Support
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
;; install DAP servers (report-time-since-load "Programming - Debugger Support")
(setq snam-vscode-js-debug-dir (file-name-concat user-emacs-directory "dape/vscode-js-debug")) #+END_SRC
(defun snam-install-vscode-js-debug ()
"Run installation procedure to install JS debugging support."
(interactive)
(mkdir snam-vscode-js-debug-dir t)
(let ((default-directory (expand-file-name snam-vscode-js-debug-dir)))
(vc-git-clone "https://github.com/microsoft/vscode-js-debug.git" "." nil) #+BEGIN_SRC emacs-lisp
(report-time-since-load "git repository created") ;; install DAP servers
(call-process "npm" nil "*snam-install*" t "install") (setq pti-vscode-js-debug-dir (file-name-concat user-emacs-directory "dape/vscode-js-debug"))
(report-time-since-load "npm dependencies installed") (defun pti-install-vscode-js-debug ()
(call-process "npx" nil "*snam-install*" t "gulp" "dapDebugServer") "Run installation procedure to install JS debugging support."
(report-time-since-load "vscode-js-debug installed"))) (interactive)
(mkdir pti-vscode-js-debug-dir t)
(let ((default-directory (expand-file-name pti-vscode-js-debug-dir)))
(setq snam-codelldb-dir (file-name-concat user-emacs-directory "dape/codelldb")) (vc-git-clone "https://github.com/microsoft/vscode-js-debug.git" "." nil)
(defun snam-install-codelldb () (report-time-since-load "git repository created")
"Install Vadimcn.Vscode-Lldb DAP server for C/C++/RUST." (call-process "npm" nil "*pti-install*" t "install")
(interactive) (report-time-since-load "npm dependencies installed")
(let* ((default-directory snam-codelldb-dir) (call-process "npx" nil "*pti-install*" t "gulp" "dapDebugServer")
(arch (car (split-string system-configuration "-" nil nil))) (report-time-since-load "vscode-js-debug installed")))
(os (pcase system-type
('windows-nt "windows")
('gnu/linux "linux")
('darwin "darwin")
(_ "unknown")))
(version "1.10.0")
(release-url (concat "https://github.com/vadimcn/codelldb/releases/download/v" version "/codelldb-" arch "-" os ".vsix")))
(mkdir default-directory t)
(url-copy-file release-url "codelldb.zip" t)
(report-time-since-load "codelldb archive downloaded")
(call-process "unzip" nil "*snam-install*" t "codelldb.zip")
(report-time-since-load "codelldb installed")
))
;; configure dape (dap-mode) (setq pti-codelldb-dir (file-name-concat user-emacs-directory "dape/codelldb"))
(use-package dape (defun pti-install-codelldb ()
:ensure (dape :host github :repo "svaante/dape" :wait t) "Install Vadimcn.Vscode-Lldb DAP server for C/C++/RUST."
:config (progn (interactive)
;; Use n for next etc. in REPL (let* ((default-directory pti-codelldb-dir)
;; (setq dape-repl-use-shorthand t) (arch (car (split-string system-configuration "-" nil nil)))
(os (pcase system-type
('windows-nt "windows")
('gnu/linux "linux")
('darwin "darwin")
(_ "unknown")))
(version "1.10.0")
(release-url (concat "https://github.com/vadimcn/codelldb/releases/download/v" version "/codelldb-" arch "-" os ".vsix")))
(mkdir default-directory t)
(url-copy-file release-url "codelldb.zip" t)
(report-time-since-load "codelldb archive downloaded")
(call-process "unzip" nil "*pti-install*" t "codelldb.zip")
(report-time-since-load "codelldb installed")
))
;; By default dape uses gdb keybinding prefix ;; configure dape (dap-mode)
;; (setq dape-key-prefix "<space>d") (use-package dape
(evil-define-key 'normal 'global (kbd "<leader>d") dape-global-map) :ensure (dape :host github :repo "svaante/dape" :wait t)
:defer 5
:config (progn
;; Use n for next etc. in REPL
;; (setq dape-repl-use-shorthand t)
;; Kill compile buffer on build success ;; By default dape uses gdb keybinding prefix
;; (add-hook 'dape-compile-compile-hooks 'kill-buffer) ;; (setq dape-key-prefix "<space>d")
(evil-define-key 'normal 'global (kbd "<leader>d") dape-global-map)
;; Projectile users ;; Kill compile buffer on build success
;; (setq dape-cwd-fn 'projectile-project-root)) ;; (add-hook 'dape-compile-compile-hooks 'kill-buffer)
(add-to-list 'dape-configs
`(vscode-js-node
modes (js-mode js-ts-mode typescript-mode typescript-ts-mode)
host "localhost"
port 8123
command "node"
command-cwd ,(file-name-concat snam-vscode-js-debug-dir "dist")
command-args ("src/dapDebugServer.js" "8123")
:type "pwa-node"
:request "launch"
:cwd dape-cwd-fn
:program dape-find-file-buffer-default
:outputCapture "console"
:sourceMapRenames t
:pauseForSourceMap nil
:enableContentValidation t
:autoAttachChildProcesses t
:console "internalConsole"
:killBehavior "forceful"))
(add-to-list 'dape-configs
`(delve
modes (go-mode go-ts-mode)
command "dlv"
command-args ("dap" "--listen" "127.0.0.1:55878")
command-cwd dape-cwd-fn
host "127.0.0.1"
port 55878
:type "debug" ;; needed to set the adapterID correctly as a string type
:request "launch"
:cwd dape-cwd-fn
:program dape-cwd-fn))
(add-to-list 'dape-configs
`(codelldb
modes (c-mode c-ts-mode
c++-mode c++-ts-mode
rust-ts-mode rust-mode)
;; Replace vadimcn.vscode-lldb with the vsix directory you just extracted
command ,(expand-file-name
(file-name-concat
snam-codelldb-dir
(concat "extension/adapter/codelldb"
(if (eq system-type 'windows-nt)
".exe"
""))))
host "localhost"
port 5818
command-args ("--port" "5818")
:type "lldb"
:request "launch"
:cwd dape-cwd-fn
:program dape-find-file))
(add-to-list 'dape-configs
`(debugpy
modes (python-ts-mode python-mode)
command "python"
command-args ("-m" "debugpy.adapter")
:type "executable"
:request "launch"
:cwd dape-cwd-fn
:program dape-find-file-buffer-default))
)) ;; Projectile users
;; (setq dape-cwd-fn 'projectile-project-root))
(add-to-list 'dape-configs
`(vscode-js-node
modes (js-mode js-ts-mode typescript-mode typescript-ts-mode)
host "localhost"
port 8123
command "node"
command-cwd ,(file-name-concat pti-vscode-js-debug-dir "dist")
command-args ("src/dapDebugServer.js" "8123")
:type "pwa-node"
:request "launch"
:cwd dape-cwd-fn
:program dape-find-file-buffer-default
:outputCapture "console"
:sourceMapRenames t
:pauseForSourceMap nil
:enableContentValidation t
:autoAttachChildProcesses t
:console "internalConsole"
:killBehavior "forceful"))
(add-to-list 'dape-configs
`(delve
modes (go-mode go-ts-mode)
command "dlv"
command-args ("dap" "--listen" "127.0.0.1:55878")
command-cwd dape-cwd-fn
host "127.0.0.1"
port 55878
:type "debug" ;; needed to set the adapterID correctly as a string type
:request "launch"
:cwd dape-cwd-fn
:program dape-cwd-fn))
(add-to-list 'dape-configs
`(codelldb
modes (c-mode c-ts-mode
c++-mode c++-ts-mode
rust-ts-mode rust-mode)
;; Replace vadimcn.vscode-lldb with the vsix directory you just extracted
command ,(expand-file-name
(file-name-concat
pti-codelldb-dir
(concat "extension/adapter/codelldb"
(if (eq system-type 'windows-nt)
".exe"
""))))
host "localhost"
port 5818
command-args ("--port" "5818")
:type "lldb"
:request "launch"
:cwd dape-cwd-fn
:program dape-find-file))
(add-to-list 'dape-configs
`(debugpy
modes (python-ts-mode python-mode)
command "python"
command-args ("-m" "debugpy.adapter")
:type "executable"
:request "launch"
:cwd dape-cwd-fn
:program dape-find-file-buffer-default))
))
#+END_SRC #+END_SRC
@ -1948,6 +1959,10 @@ Map the keymap consistently to the eglot mappings.
** Copilot Support ** Copilot Support
#+BEGIN_SRC emacs-lisp
(report-time-since-load "Programming - Copilot Support")
#+END_SRC
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package copilot (use-package copilot
:ensure (:host github :repo "zerolfx/copilot.el" :ensure (:host github :repo "zerolfx/copilot.el"
@ -1974,6 +1989,10 @@ the moment.
** Gitlab Support ** Gitlab Support
#+BEGIN_SRC emacs-lisp
(report-time-since-load "Programming - Gitlab Support")
#+END_SRC
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package gitlab-ci-mode (use-package gitlab-ci-mode
:ensure (:host gitlab :repo "ptillemans/gitlab-ci-mode" :branch "fixes_2024") :ensure (:host gitlab :repo "ptillemans/gitlab-ci-mode" :branch "fixes_2024")