Compare commits

...

2 commits

Author SHA1 Message Date
Joe Ardent
d8cab4e766 fix up from work 2025-06-14 12:04:29 -07:00
Joe Ardent
1c82c0ccf4 merge from voltus-work branch 2025-06-06 16:20:37 -07:00
14 changed files with 302 additions and 124 deletions

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
(global-set-key [C-tab] #'other-window) (global-set-key [C-tab] #'other-window)
(global-set-key [C-S-tab] #'sother-window) (global-set-key [C-S-tab] #'sother-window)
(global-set-key [C-iso-lefttab] #'sother-window) (global-set-key [C-iso-lefttab] #'sother-window)
@ -15,4 +16,11 @@
// //
//-************************************************************************") //-************************************************************************")
(use-package restclient
:ensure t)
(use-package restclient-jq
:ensure t)
(elpaca (1password :host github :repo "kamushadenes/1password.el")
(use-package 1password))
(provide 'nebkor-personal) (provide 'nebkor-personal)

View file

@ -28,7 +28,8 @@
'("nebkor-modules" "custom-lisp")) '("nebkor-modules" "custom-lisp"))
;;; Install Elpaca ;;; Install Elpaca
(defvar elpaca-installer-version 0.9)
(defvar elpaca-installer-version 0.10)
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@ -43,7 +44,6 @@
(add-to-list 'load-path (if (file-exists-p build) build repo)) (add-to-list 'load-path (if (file-exists-p build) build repo))
(unless (file-exists-p repo) (unless (file-exists-p repo)
(make-directory repo t) (make-directory repo t)
(when (< emacs-major-version 28) (require 'subr-x))
(condition-case-unless-debug err (condition-case-unless-debug err
(if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*"))
((zerop (apply #'call-process `("git" nil ,buffer t "clone" ((zerop (apply #'call-process `("git" nil ,buffer t "clone"

View file

@ -61,6 +61,7 @@
- [[#the-nebkor-essentialsel-section-about-using-tree-sitter-for-marking-expreg][The =nebkor-essentials.el= section about using tree-sitter for marking (~expreg~)]] - [[#the-nebkor-essentialsel-section-about-using-tree-sitter-for-marking-expreg][The =nebkor-essentials.el= section about using tree-sitter for marking (~expreg~)]]
- [[#the-nebkor-essentialsel-section-for-osx-changes][The =nebkor-essentials.el= section for OSX changes]] - [[#the-nebkor-essentialsel-section-for-osx-changes][The =nebkor-essentials.el= section for OSX changes]]
- [[#the-nebkor-essentialsel-section-for-simpleel-changes][The =nebkor-essentials.el= section for ~simple.el~ changes]] - [[#the-nebkor-essentialsel-section-for-simpleel-changes][The =nebkor-essentials.el= section for ~simple.el~ changes]]
- [[#the-nebkor-essentialsel-section-for-better-help-helpful][The =nebkor-essentials.el= section for better help (~helpful~)]]
- [[#the-nebkor-essentials-section-for-indent-tools][The =nebkor-essentials= section for ~indent-tools~]] - [[#the-nebkor-essentials-section-for-indent-tools][The =nebkor-essentials= section for ~indent-tools~]]
- [[#the-nebkor-essentials-section-for-undo-tree][The =nebkor-essentials= section for ~undo-tree~]] - [[#the-nebkor-essentials-section-for-undo-tree][The =nebkor-essentials= section for ~undo-tree~]]
- [[#the-nebkor-essentials-section-for-fancy-keyboard-shortcuts-key-chord][The =nebkor-essentials= section for fancy keyboard shortcuts (~key-chord~)]] - [[#the-nebkor-essentials-section-for-fancy-keyboard-shortcuts-key-chord][The =nebkor-essentials= section for fancy keyboard shortcuts (~key-chord~)]]
@ -156,6 +157,8 @@
- [[#the-nebkor-langsel-section-for-ziglang-zig-mode][The =nebkor-langs.el= section for Ziglang (~zig-mode~)]] - [[#the-nebkor-langsel-section-for-ziglang-zig-mode][The =nebkor-langs.el= section for Ziglang (~zig-mode~)]]
- [[#the-nebkor-langsel-section-for-clojure-programming][The =nebkor-langs.el= section for Clojure programming]] - [[#the-nebkor-langsel-section-for-clojure-programming][The =nebkor-langs.el= section for Clojure programming]]
- [[#the-nebkor-langsel-section-for-scheme][The =nebkor-langs.el= section for Scheme]] - [[#the-nebkor-langsel-section-for-scheme][The =nebkor-langs.el= section for Scheme]]
- [[#the-nebkor-langsel-section-for-go][The =nebkor-langs.el= section for Go]]
- [[#the-nebkor-langsel-section-for-terrform][The =nebkor-langs.el= section for Terrform]]
- [[#the-nebkor-langsel-section-for-emacs-lisp][The =nebkor-langs.el= section for Emacs Lisp]] - [[#the-nebkor-langsel-section-for-emacs-lisp][The =nebkor-langs.el= section for Emacs Lisp]]
- [[#finally-we-provide-the-nebkor-langsel-module][Finally, we provide the =nebkor-langs.el= module]] - [[#finally-we-provide-the-nebkor-langsel-module][Finally, we provide the =nebkor-langs.el= module]]
- [[#the-nebkor-studyel-module][The =nebkor-study.el= module]] - [[#the-nebkor-studyel-module][The =nebkor-study.el= module]]
@ -213,6 +216,7 @@ be updated accordingly.
#+end_quote #+end_quote
#+begin_src emacs-lisp :tangle no :results none #+begin_src emacs-lisp :tangle no :results none
;; -*- lexical-binding: t; -*-
(org-babel-tangle) (org-babel-tangle)
#+end_src #+end_src
@ -496,7 +500,8 @@ When using ~elpaca~, here are some gotchas you should be aware of
#+begin_src emacs-lisp :tangle "init.el" #+begin_src emacs-lisp :tangle "init.el"
;;; Install Elpaca ;;; Install Elpaca
(defvar elpaca-installer-version 0.9)
(defvar elpaca-installer-version 0.10)
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@ -511,7 +516,6 @@ When using ~elpaca~, here are some gotchas you should be aware of
(add-to-list 'load-path (if (file-exists-p build) build repo)) (add-to-list 'load-path (if (file-exists-p build) build repo))
(unless (file-exists-p repo) (unless (file-exists-p repo)
(make-directory repo t) (make-directory repo t)
(when (< emacs-major-version 28) (require 'subr-x))
(condition-case-unless-debug err (condition-case-unless-debug err
(if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*"))
((zerop (apply #'call-process `("git" nil ,buffer t "clone" ((zerop (apply #'call-process `("git" nil ,buffer t "clone"
@ -669,6 +673,7 @@ Now we are ready to load our per-module configuration files:
This module defines everything related to the aesthetics of Emacs. This module defines everything related to the aesthetics of Emacs.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-theme.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-theme.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Everything related to the look of Emacs ;;; Everything related to the look of Emacs
#+end_src #+end_src
@ -1011,6 +1016,7 @@ in the function ~prot/enable-variable-pitch~.
:END: :END:
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-essentials.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-essentials.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Essential configurations ;;; Essential configurations
(use-package emacs (use-package emacs
:ensure nil :ensure nil
@ -1347,8 +1353,8 @@ These are modifications to basic configuration I use on my Mac OSX machine.
(process-send-string proc text) (process-send-string proc text)
(process-send-eof proc)))) (process-send-eof proc))))
(setq mac-command-modifier 'meta) ;;(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'alt) ;;(setq mac-option-modifier 'alt)
(setq interprogram-cut-function #'paste-to-osx) (setq interprogram-cut-function #'paste-to-osx)
(setq interprogram-paste-function #'copy-from-osx) (setq interprogram-paste-function #'copy-from-osx)
;; Work around a bug on OS X where system-name is a fully qualified ;; Work around a bug on OS X where system-name is a fully qualified
@ -1392,6 +1398,22 @@ These are modifications to basic configuration I use on my Mac OSX machine.
(setq column-number-mode t)) (setq column-number-mode t))
#+end_src #+end_src
** The =nebkor-essentials.el= section for better help (~helpful~)
:PROPERTIES:
:CUSTOM_ID: h:ECAF81D8-4111-4C71-AB77-3C3D322B235F
:CREATED: [2024-12-02 Mon 09:50]
:ID: 01JGD333ED000CFWD9GWED35XD
:END:
Helpful is a package that improves the default Emacs *Help* buffer. I don't want to replace what
Emacs provides with default, and I find myself using Helpful only as an Avy action ([[#h:4E8593F7-C065-4DFA-B513-98602EC2BA1A][The
=nebkor-search.el= settings for ~avy~ (jumping)]]). However, it's really useful in that context.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-essentials.el"
(use-package helpful
:ensure t)
#+end_src
** The =nebkor-essentials= section for ~indent-tools~ ** The =nebkor-essentials= section for ~indent-tools~
:PROPERTIES: :PROPERTIES:
:ID: 01JGD1ASTX0008J83XRB4TZW77 :ID: 01JGD1ASTX0008J83XRB4TZW77
@ -1550,6 +1572,7 @@ soon as I type a space after some characters I am using ~orderless~.
(There are more details in Prot's file, for the interested reader) (There are more details in Prot's file, for the interested reader)
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-completion.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-completion.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; General minibuffer settings ;;; General minibuffer settings
(use-package minibuffer (use-package minibuffer
:ensure nil :ensure nil
@ -2217,6 +2240,7 @@ I use ~vertico-repeat~ to mimic the functionality that ~helm-resume~ would provi
My old custom functions file. My old custom functions file.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-functions.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-functions.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
(defun diff-and-set-modified-p () (defun diff-and-set-modified-p ()
"Diff the current buffer with its associated file and set buffer modified status." "Diff the current buffer with its associated file and set buffer modified status."
(let* ((tmpfile (diff-file-local-copy (current-buffer))) (let* ((tmpfile (diff-file-local-copy (current-buffer)))
@ -2290,6 +2314,20 @@ My old custom functions file.
(set-window-buffer-start-and-point w1 b2 s2 p2) (set-window-buffer-start-and-point w1 b2 s2 p2)
(set-window-buffer-start-and-point w2 b1 s1 p1))))))) (set-window-buffer-start-and-point w2 b1 s1 p1)))))))
(defun my-update-env (fn)
(let ((str
(with-temp-buffer
(insert-file-contents fn)
(buffer-string))) lst)
(setq lst (split-string str "\000"))
(while lst
(setq cur (car lst))
(when (string-match "^\\(.*?\\)=\\(.*\\)" cur)
(setq var (match-string 1 cur))
(setq value (match-string 2 cur))
(setenv var value))
(setq lst (cdr lst)))))
(provide 'nebkor-functions) (provide 'nebkor-functions)
#+end_src #+end_src
@ -2394,6 +2432,7 @@ Now on to the configurations.
tweak to ensure that ~consult-imenu~ returns good ~imenu~ results to us. tweak to ensure that ~consult-imenu~ returns good ~imenu~ results to us.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-search.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-search.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
(use-package imenu (use-package imenu
:ensure nil :ensure nil
:config :config
@ -2711,6 +2750,7 @@ them manually. I prefer this extra layer of safety. Plus, we have the
#+end_quote #+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-dired.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-dired.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Dired file manager and prot-dired.el extras ;;; Dired file manager and prot-dired.el extras
(use-package dired (use-package dired
:ensure nil :ensure nil
@ -3060,6 +3100,7 @@ name.
#+end_quote #+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-window.el" #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-window.el"
;; -*- lexical-binding: t; -*-
;;; General window and buffer configurations ;;; General window and buffer configurations
(use-package uniquify (use-package uniquify
:ensure nil :ensure nil
@ -3243,6 +3284,7 @@ integrates with ~magit~ ([[#h:b08af527-9ebf-4425-ac3a-24b4f371a4fd][The =nebkor-
#+end_quote #+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-git.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-git.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;;; `ediff' ;;;; `ediff'
(use-package ediff (use-package ediff
:ensure nil :ensure nil
@ -3421,6 +3463,21 @@ branches, etc.
'(("~/src/prototypes" . 1)))) '(("~/src/prototypes" . 1))))
#+end_src #+end_src
#+begin_quote
The difftastic Emacs package is designed to integrate difftastic - a structural diff tool - into
your Emacs workflow, enhancing your code review and comparison experience. This package
automatically displays difftastics output within Emacs using faces from your user theme, ensuring
consistency with your overall coding environment.
#+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-git.el"
(elpaca (difftastic :host "github.com" :repo "pkryger/difftastic.el")
(use-package difftastic))
(use-package difftastic-bindings
:config (difftastic-bindings-mode))
#+end_src
** Finally, we provide the =nebkor-git.el= module ** Finally, we provide the =nebkor-git.el= module
:PROPERTIES: :PROPERTIES:
:CUSTOM_ID: h:4e7035c5-9350-4c51-be85-85f2539ed295 :CUSTOM_ID: h:4e7035c5-9350-4c51-be85-85f2539ed295
@ -3504,6 +3561,7 @@ Org is far more capable, so I switched to it completely.
#+end_quote #+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-org.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-org.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Calendar ;;; Calendar
(use-package calendar (use-package calendar
:ensure nil :ensure nil
@ -4480,6 +4538,7 @@ title of the task, and the like. The documentation string of
:END: :END:
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-langs.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-langs.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;;; Tabs, indentation, and the TAB key ;;;; Tabs, indentation, and the TAB key
(use-package emacs (use-package emacs
:ensure nil :ensure nil
@ -4882,12 +4941,14 @@ colors (you can use tree-sitter to do *syntactic* highlighting, but that's diffe
lsp-eldoc-render-all t lsp-eldoc-render-all t
lsp-idle-delay 0.2 lsp-idle-delay 0.2
lsp-enable-snippet t lsp-enable-snippet t
lsp-file-watch-threshold 3000
read-process-output-max (* 1024 1024)) read-process-output-max (* 1024 1024))
:hook :hook
( (
(lsp-mode . lsp-enable-which-key-integration) (lsp-mode . lsp-enable-which-key-integration)
(lsp-mode . subword-mode) (lsp-mode . subword-mode)
(lsp-completion-mode . my/lsp-mode-setup-completion) (lsp-completion-mode . my/lsp-mode-setup-completion)
(go-ts-mode . lsp-mode)
;;(before-save . lsp-format-buffer) ;;(before-save . lsp-format-buffer)
)) ))
#+end_src #+end_src
@ -5214,6 +5275,45 @@ for this to continue.
:config (add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup)) :config (add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup))
#+end_src #+end_src
** The =nebkor-langs.el= section for Go
:PROPERTIES:
:ID: 3EE09964-FF3B-43BC-A09D-7CA94A245D25
:END:
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-langs.el"
(use-package go-ts-mode
:ensure nil
:hook
(go-ts-mode . go-format-on-save-mode)
(go-ts-mode . (lambda () (set (make-local-variable 'tab-width) 2)))
:custom
(go-mode-indent-offset 2)
:init
(add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go"))
(add-to-list 'treesit-language-source-alist '(gomod "https://github.com/camdencheek/tree-sitter-go-mod"))
(add-to-list 'auto-mode-alist '("\\.go\\'" . go-ts-mode))
(add-to-list 'auto-mode-alist '("/go\\.mod\\'" . go-mod-ts-mode))
:config
(reformatter-define go-format
:program "goimports"
:args '("/dev/stdin")))
(use-package flycheck-golangci-lint
:ensure t
:hook
(go-ts-mode . flycheck-golangci-lint-setup))
#+end_src
** The =nebkor-langs.el= section for Terrform
:PROPERTIES:
:ID: 43DB91FB-9B4E-4D6A-AF89-CDCD22469C3A
:END:
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-langs.el"
(use-package terraform-mode
:ensure t)
#+end_src
** The =nebkor-langs.el= section for Emacs Lisp ** The =nebkor-langs.el= section for Emacs Lisp
:PROPERTIES: :PROPERTIES:
@ -5249,7 +5349,6 @@ for this to continue.
This file contains configuration for everything I use to make Emacs my This file contains configuration for everything I use to make Emacs my
go-to place for studying anything. go-to place for studying anything.
** The =nebkor-study.el= section for reading and annotation of PDFs (~pdf-tools~) ** The =nebkor-study.el= section for reading and annotation of PDFs (~pdf-tools~)
:PROPERTIES: :PROPERTIES:
:CUSTOM_ID: h:B662EABD-DC46-468A-BF59-E67AC48D2DDA :CUSTOM_ID: h:B662EABD-DC46-468A-BF59-E67AC48D2DDA
@ -5261,6 +5360,7 @@ PDF Tools is an absolute powerhouse for reading and annotating PDF
files. It is my goto tool for reading any academic papers. files. It is my goto tool for reading any academic papers.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-study.el" :mkdirp yes #+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-study.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; PDF Tools for reading and annotating PDF files ;;; PDF Tools for reading and annotating PDF files
(use-package pdf-tools (use-package pdf-tools
:ensure (:host github :repo "vedang/pdf-tools" :branch "master") :ensure (:host github :repo "vedang/pdf-tools" :branch "master")
@ -6245,6 +6345,7 @@ figure it out.
:END: :END:
#+begin_src emacs-lisp :tangle "custom-lisp/nebkor-personal.el" :mkdirp yes #+begin_src emacs-lisp :tangle "custom-lisp/nebkor-personal.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
(global-set-key [C-tab] #'other-window) (global-set-key [C-tab] #'other-window)
(global-set-key [C-S-tab] #'sother-window) (global-set-key [C-S-tab] #'sother-window)
(global-set-key [C-iso-lefttab] #'sother-window) (global-set-key [C-iso-lefttab] #'sother-window)
@ -6261,6 +6362,14 @@ figure it out.
"//-************************************************************************ "//-************************************************************************
// //
//-************************************************************************") //-************************************************************************")
(use-package restclient
:ensure t)
(use-package restclient-jq
:ensure t)
(elpaca (1password :host github :repo "kamushadenes/1password.el")
(use-package 1password))
#+end_src #+end_src
*** Finally, we provide the =nebkor-personal.el= module *** Finally, we provide the =nebkor-personal.el= module

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; General minibuffer settings ;;; General minibuffer settings
(use-package minibuffer (use-package minibuffer
:ensure nil :ensure nil

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; Dired file manager and prot-dired.el extras ;;; Dired file manager and prot-dired.el extras
(use-package dired (use-package dired
:ensure nil :ensure nil

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; Essential configurations ;;; Essential configurations
(use-package emacs (use-package emacs
:ensure nil :ensure nil
@ -166,8 +167,8 @@ word. Fall back to regular `expreg-expand'."
(process-send-string proc text) (process-send-string proc text)
(process-send-eof proc)))) (process-send-eof proc))))
(setq mac-command-modifier 'meta) ;;(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'alt) ;;(setq mac-option-modifier 'alt)
(setq interprogram-cut-function #'paste-to-osx) (setq interprogram-cut-function #'paste-to-osx)
(setq interprogram-paste-function #'copy-from-osx) (setq interprogram-paste-function #'copy-from-osx)
;; Work around a bug on OS X where system-name is a fully qualified ;; Work around a bug on OS X where system-name is a fully qualified
@ -202,6 +203,9 @@ If the region is selected, retain the original behaviour, otherwise call
:config :config
(setq column-number-mode t)) (setq column-number-mode t))
(use-package helpful
:ensure t)
(use-package indent-tools (use-package indent-tools
:ensure t) :ensure t)

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
(defun diff-and-set-modified-p () (defun diff-and-set-modified-p ()
"Diff the current buffer with its associated file and set buffer modified status." "Diff the current buffer with its associated file and set buffer modified status."
(let* ((tmpfile (diff-file-local-copy (current-buffer))) (let* ((tmpfile (diff-file-local-copy (current-buffer)))
@ -71,4 +72,18 @@
(set-window-buffer-start-and-point w1 b2 s2 p2) (set-window-buffer-start-and-point w1 b2 s2 p2)
(set-window-buffer-start-and-point w2 b1 s1 p1))))))) (set-window-buffer-start-and-point w2 b1 s1 p1)))))))
(defun my-update-env (fn)
(let ((str
(with-temp-buffer
(insert-file-contents fn)
(buffer-string))) lst)
(setq lst (split-string str "\000"))
(while lst
(setq cur (car lst))
(when (string-match "^\\(.*?\\)=\\(.*\\)" cur)
(setq var (match-string 1 cur))
(setq value (match-string 2 cur))
(setenv var value))
(setq lst (cdr lst)))))
(provide 'nebkor-functions) (provide 'nebkor-functions)

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;;; `ediff' ;;;; `ediff'
(use-package ediff (use-package ediff
:ensure nil :ensure nil
@ -74,4 +75,10 @@
(setq magit-repository-directories (setq magit-repository-directories
'(("~/src/prototypes" . 1)))) '(("~/src/prototypes" . 1))))
(elpaca (difftastic :host "github.com" :repo "pkryger/difftastic.el")
(use-package difftastic))
(use-package difftastic-bindings
:config (difftastic-bindings-mode))
(provide 'nebkor-git) (provide 'nebkor-git)

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;;; Tabs, indentation, and the TAB key ;;;; Tabs, indentation, and the TAB key
(use-package emacs (use-package emacs
:ensure nil :ensure nil
@ -192,12 +193,14 @@
lsp-eldoc-render-all t lsp-eldoc-render-all t
lsp-idle-delay 0.2 lsp-idle-delay 0.2
lsp-enable-snippet t lsp-enable-snippet t
lsp-file-watch-threshold 3000
read-process-output-max (* 1024 1024)) read-process-output-max (* 1024 1024))
:hook :hook
( (
(lsp-mode . lsp-enable-which-key-integration) (lsp-mode . lsp-enable-which-key-integration)
(lsp-mode . subword-mode) (lsp-mode . subword-mode)
(lsp-completion-mode . my/lsp-mode-setup-completion) (lsp-completion-mode . my/lsp-mode-setup-completion)
(go-ts-mode . lsp-mode)
;;(before-save . lsp-format-buffer) ;;(before-save . lsp-format-buffer)
)) ))
@ -363,6 +366,31 @@ NS is the namespace information passed into the function by cider."
:after geiser-repl :after geiser-repl
:config (add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup)) :config (add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup))
(use-package go-ts-mode
:ensure nil
:hook
(go-ts-mode . go-format-on-save-mode)
(go-ts-mode . (lambda () (set (make-local-variable 'tab-width) 2)))
:custom
(go-mode-indent-offset 2)
:init
(add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go"))
(add-to-list 'treesit-language-source-alist '(gomod "https://github.com/camdencheek/tree-sitter-go-mod"))
(add-to-list 'auto-mode-alist '("\\.go\\'" . go-ts-mode))
(add-to-list 'auto-mode-alist '("/go\\.mod\\'" . go-mod-ts-mode))
:config
(reformatter-define go-format
:program "goimports"
:args '("/dev/stdin")))
(use-package flycheck-golangci-lint
:ensure t
:hook
(go-ts-mode . flycheck-golangci-lint-setup))
(use-package terraform-mode
:ensure t)
;;; Settings for Interaction mode for Emacs-Lisp ;;; Settings for Interaction mode for Emacs-Lisp
(use-package ielm (use-package ielm
:ensure nil :ensure nil

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; Calendar ;;; Calendar
(use-package calendar (use-package calendar
:ensure nil :ensure nil

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
(use-package imenu (use-package imenu
:ensure nil :ensure nil
:config :config

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; PDF Tools for reading and annotating PDF files ;;; PDF Tools for reading and annotating PDF files
(use-package pdf-tools (use-package pdf-tools
:ensure (:host github :repo "vedang/pdf-tools" :branch "master") :ensure (:host github :repo "vedang/pdf-tools" :branch "master")

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; Everything related to the look of Emacs ;;; Everything related to the look of Emacs
;;(add-to-list 'default-frame-alist '(background-color . "snow")) ;;(add-to-list 'default-frame-alist '(background-color . "snow"))

View file

@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
;;; General window and buffer configurations ;;; General window and buffer configurations
(use-package uniquify (use-package uniquify
:ensure nil :ensure nil