exec-path-from-shell 的那个选项,前些时候已经 pr 并合并了。
用straight down下来use-package加载会出错。。我down下来用:load-path
就可以。。
recipe 里面加 :no-byte-compile t 就行。好像是编译成 elc 会有些问题.
默默问一句为什么不直接设置 snails-use-exec-path-from-shell
为 (featurep 'cocoa)
?
就是想单独弄个变量能精确的控制要不要 exec-path-from-shell,代码里面本来就是在 (featurep 'cocoa) 的情况下再次判断的。你这么设置和 t 没区别。
如果在 Linux 中想要使用 exec-path-from-shell 时,只设置 snails-use-exec-path-from-shell 变量, 是不会使用 exec-path-from-shell 的, 至于为什么会有在 linux 使用 exec-path-from-shell 的要求, 你可以看看之前讨论的帖子。
那就直接把 (featurep 'cocoa) 的判断去掉,只用这个值来精确控制。
https://manateelazycat.github.io/emacs/2020/03/28/color-remap.html
今天使用 face-remap-add-relative 方法,在Snails启动的时候重定向 hl-line 的背景颜色,避免用户主题对Snails输入框背景产生干扰。
今天才更新 snails, backend-bookmarks 的图标是不是被更新没了?
另外,snails-select-line-face 我修改成了斜体和橙色的背景色,更新后,斜体还在,但背景色变成了黑色。我的代码是:
(set-face-attribute 'snails-select-line-face nil
:slant 'italic
:background "#e5b781" )
然后我又 M-x customize face
进行手动修改,修改后点 apply and save
这时是生效的,但只要一运行 snails ,就会变回黑色。
bookmark 原来有图标吗?
Snails会自动根据主题深浅调整颜色。
你最好截图给我看一下。
这个是和主题有关,现在Snails是根据主题的颜色变化的,你可以直接修改你的主题选中效果,Snails会自动保持队形。
哦哦,原来如此,我去研究下。
我看了下原代码:
(set-face-attribute 'snails-select-line-face nil
:background default-foreground-color
:foreground default-background-color)
意思是 snails-select-line-face
只是主题 bg 和 fg 的互换吗?那这对白底黑字的主题,也太不友好了吧
你可以提供一下选项,默认跟随主题,选项打开时,用自定义颜色。
主要是跟随主题适用性强,要不众口难调。
我这代码水平还是不出来丢人现眼了 。自己魔改一下本地的算了。
问下,你那里 snails-backend-current-buffer
能用吗?我这里用了最小配置 + 最新版依旧不能使用, ripgrep
也装了。显示:
Debugger entered--Lisp error: (wrong-type-argument overlayp nil)
overlay-start(nil) (goto-char (overlay-start
snails-select-line-overlay)) (save-current-buffer (set-buffer
snails-content-buffer) (goto-char (overlay-start
snails-select-line-overlay)) (end-of-line) (backward-char) (let
((overlays (overlays-at (point)))) (catch 'candidate (while overlays
(let ((overlay (car overlays))) (if (eq (overlay-get overlay ...)
'snails-candiate-content-face) (progn (throw ... ...)))) (setq
overlays (cdr overlays)))))) snails-candidate-get-info() (let
((candidate-info (snails-candidate-get-info))) (if candidate-info
(progn (snails-backend-do (nth 0 candidate-info) (nth 1
candidate-info))))) snails-candidate-do()
funcall-interactively(snails-candidate-do)
call-interactively(snails-candidate-do nil nil)
command-execute(snails-candidate-do)
同时给一下重现步骤,不知道你干了什么。
就是最小配置启动 snails 后,运行 (snails '(snails-backend-current-buffer))
。界面能打开,按了回车后就会报错。
最新版已经修复这个问题,注意 snails-backend-current-buffer 这个后端最低要求输入三个字符,要不启动就是空白的。