diff --git a/users/crumb/programs/emacs/lib/syd-file.el b/users/crumb/programs/emacs/lib/syd-file.el index 1de683d..1a43c04 100644 --- a/users/crumb/programs/emacs/lib/syd-file.el +++ b/users/crumb/programs/emacs/lib/syd-file.el @@ -4,6 +4,7 @@ (require 'syd-buffers) (require 'cl-lib) (eval-when-compile (require 'cl-lib)) +(eval-when-compile (require 'tramp)) (syd-define-stub syd/copy-this-file @@ -149,7 +150,6 @@ If FORCE-P, delete without confirmation." (defun syd-split-tramp-file-name (file-name) "Split FILE-NAME into (TRAMP-PREFIX . LOCAL-NAME). Returns (nil . FILE-NAME) if FILE-NAME has no TRAMP prefix." - (require 'tramp) (if (tramp-tramp-file-p file-name) (let* ((dissected (tramp-dissect-file-name file-name t)) (localname (tramp-file-name-localname dissected))) diff --git a/users/crumb/programs/emacs/lib/syd-lisp-lib.el b/users/crumb/programs/emacs/lib/syd-lisp-lib.el index 438f72d..3217774 100644 --- a/users/crumb/programs/emacs/lib/syd-lisp-lib.el +++ b/users/crumb/programs/emacs/lib/syd-lisp-lib.el @@ -484,10 +484,16 @@ be considered as part of the sexp." (general-def :keymaps 'syd-lisp-mode-map :states 'motion - "C-h" #'sp-backward-up-sexp - "C-j" #'syd-sexp-next - "C-k" #'syd-sexp-previous - "C-l" #'sp-down-sexp + "C-h" #'sp-backward-up-sexp ; Probably deprecated. + "C-j" #'syd-sexp-next ; Probably deprecated. + "C-k" #'syd-sexp-previous ; Probably deprecated. + "C-l" #'sp-down-sexp ; Probably deprecated. + + "M-h" #'sp-backward-up-sexp + "M-j" #'syd-sexp-next + "M-k" #'syd-sexp-previous + "M-l" #'sp-down-sexp + "(" #'syd-backward-up-sexp ")" #'syd-forward-up-sexp "{" #'syd-sexp-backward-opening diff --git a/users/crumb/programs/emacs/lib/syd-prelude.el b/users/crumb/programs/emacs/lib/syd-prelude.el index d44df25..e1a82c4 100644 --- a/users/crumb/programs/emacs/lib/syd-prelude.el +++ b/users/crumb/programs/emacs/lib/syd-prelude.el @@ -113,7 +113,6 @@ not mutated; a new plist is returned." (list prop* new-val) (list prop* old-val)))) -;; TODO: Support (syd-add-hook 'hook (defun my-hook () ...)) (defmacro syd-add-hook (hooks &rest hforms) (declare (indent defun)) (syd-lift-lambdas diff --git a/users/crumb/programs/emacs/lib/syd-project.el b/users/crumb/programs/emacs/lib/syd-project.el index f3db052..8a1fefb 100644 --- a/users/crumb/programs/emacs/lib/syd-project.el +++ b/users/crumb/programs/emacs/lib/syd-project.el @@ -35,5 +35,16 @@ project\"." ;; TODO: Prompt for path project root is not found. (syd-search-directory (syd-project-root))) +(defun syd-project-root-find-file (file-name) + "Just like `project-root-find-file', but allowing you to select the root +directory itself." + (declare (interactive-only find-file)) + (interactive + (list (let ((root (project-root (project-current t)))) + (read-file-name + "Find file in root: " + root root (confirm-nonexistent-file-or-buffer))))) + (find-file file-name t)) + (provide 'syd-project) ;;; syd-project.el ends here diff --git a/users/crumb/programs/emacs/lib/syd-prose.el b/users/crumb/programs/emacs/lib/syd-prose.el index 7c246d6..7301b24 100644 --- a/users/crumb/programs/emacs/lib/syd-prose.el +++ b/users/crumb/programs/emacs/lib/syd-prose.el @@ -21,7 +21,7 @@ ;; before. Each misspelling can be corrected from a list of dictionary words ;; presented as a completion menu. (use-package jinx - ;; Managed by Nix. + ;; Managed by Nix: libenchant dependency. :straight nil :commands (jinx-mode jinx-correct jinx-correct-word) :init (defun syd-jinx--jinx-or-ispell ()