Compare commits

..

1 commit

Author SHA1 Message Date
05312716ea flake.lock: Update
All checks were successful
/ test (push) Successful in 4m49s
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/758aa1deb09d8d2dce7bd3a016434e8fcedfab89' (2024-08-21)
  → 'github:nix-community/emacs-overlay/0780b82798307b08982e766e039f7a1680fadfe8' (2024-08-24)
• Updated input 'emacs-overlay/nixpkgs':
    'github:NixOS/nixpkgs/8a3354191c0d7144db9756a74755672387b702ba' (2024-08-18)
  → 'github:NixOS/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
• Updated input 'emacs-overlay/nixpkgs-stable':
    'github:NixOS/nixpkgs/f1bad50880bae73ff2d82fafc22010b4fc097a9c' (2024-08-19)
  → 'github:NixOS/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
2024-08-24 16:08:18 +00:00
4 changed files with 51 additions and 37 deletions

23
flake.lock generated
View file

@ -7,11 +7,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1724577031,
"narHash": "sha256-C3ufe7meLX9zNEOawPKdIpfmFQ+D5d2oqQ3iQMFdva4=",
"lastModified": 1724490633,
"narHash": "sha256-Ok9pSW0ge++fbNDu6pac9tJaTSIfxaTyjl8Xvl2tCf4=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "d945c2ba0421e0c1b239b5882f2c0725fe8cfba1",
"rev": "0780b82798307b08982e766e039f7a1680fadfe8",
"type": "github"
},
"original": {
@ -36,22 +36,6 @@
"type": "github"
}
},
"extra-package-haskell-ts-mode": {
"flake": false,
"locked": {
"lastModified": 1724579033,
"narHash": "sha256-cwkJY5kLgcTuTMy2/5t/CkEnN1x7aj6BaSX1wYg7Vw8=",
"ref": "refs/heads/main",
"rev": "d9afd84e46b41c9912539face04ec7bb2a16ba78",
"revCount": 47,
"type": "git",
"url": "https://codeberg.org/pranshu/haskell-ts-mode.git"
},
"original": {
"type": "git",
"url": "https://codeberg.org/pranshu/haskell-ts-mode.git"
}
},
"extra-package-indent-bars": {
"flake": false,
"locked": {
@ -223,7 +207,6 @@
"inputs": {
"emacs-overlay": "emacs-overlay",
"extra-package-copilot": "extra-package-copilot",
"extra-package-haskell-ts-mode": "extra-package-haskell-ts-mode",
"extra-package-indent-bars": "extra-package-indent-bars",
"extra-package-notmuch-notify": "extra-package-notmuch-notify",
"flake-parts": "flake-parts",

View file

@ -18,10 +18,6 @@
url = "github:zerolfx/copilot.el";
flake = false;
};
extra-package-haskell-ts-mode = {
url = "git+https://codeberg.org/pranshu/haskell-ts-mode.git";
flake = false;
};
};
outputs = inputs @ {flake-parts, ...}:

55
init.el
View file

@ -581,9 +581,49 @@
(eshell 'N)
(add-hook 'kill-buffer-hook 'delete-frame nil 't)) ;; destroy frame on exit
(defun ccr/eshell-history ()
"Interactive search eshell history."
(interactive)
(require 'em-hist)
(save-excursion
(eshell-bol)
(let* ((start-pos (point))
(end-pos (line-end-position))
(input (buffer-substring-no-properties start-pos end-pos)))
(message input)
(let* (
(history-shell (split-string (shell-command-to-string "history") "\n"))
(history-eshell (delete-dups (when (> (ring-size eshell-history-ring) 0)
(ring-elements eshell-history-ring))))
(history (append history-shell history-eshell))
;; (history-highlighted (mapcar #'(lambda (cmd)
;; (with-temp-buffer
;; (text-mode)
;; (insert cmd)
;; (forward-line 0)
;; ;; FIXME it breaks trying to highlight commands like `cd /ssh:host:~'
;; ;; (eshell-syntax-highlighting--parse-and-highlight 'command (point-max))
;; (add-face-text-property (point-min) (point-max) '(:background nil))
;; (buffer-string)))
;; history))
(command (completing-read
"Command: "
history
nil
nil
input
)))
(kill-region start-pos end-pos)
(insert command)
)))
(end-of-line))
(defun ccr/wrap-eshell-write-history (orig-fun &optional filename &rest _)
(apply orig-fun `(,filename 't)))
;; Wrapping this in order to merge histories from different shells
;; (advice-add 'eshell-write-history
;; :around #'ccr/wrap-eshell-write-history)
(advice-add 'eshell-write-history
:around #'ccr/wrap-eshell-write-history)
(add-to-list 'eshell-modules-list 'eshell-tramp) ;; to use sudo in eshell
;; (add-to-list 'eshell-modules-list 'eshell-smart) ;; plan 9 style
@ -604,14 +644,11 @@
:hook (eshell-mode . (lambda () (setq-local scroll-margin 0)))
:bind (("C-c o e" . project-eshell)
:map eshell-mode-map
("C-r" . eshell-atuin-history))) ;; i.e. just C-r in semi-char-mode
("C-r" . ccr/eshell-history))) ;; i.e. just C-r in semi-char-mode
(use-package eshell-command-not-found
:custom ((eshell-command-not-found-command "command-not-found"))
:hook ((eshell-mode . eshell-command-not-found-mode)))
(use-package eshell-atuin
:hook ((eshell-mode . eshell-atuin-mode)))
(use-package esh-autosuggest
;; :hook (eshell-mode . esh-autosuggest-mode) # FIXME otherwise emacs stucks
)
(use-package fish-completion-mode
:hook ((eshell-mode . fish-completion-mode)))

View file

@ -53,12 +53,10 @@ pkgs: epkgs: let
eshell-syntax-highlighting
fish-completion # fish completion for eshell
eshell-prompt-extras
eshell-atuin
eshell-command-not-found
esh-autosuggest
clipetty
sideline
consult-eglot
# sideline-flymake
sideline-flymake
rainbow-delimiters
vertico
marginalia