我的包 ,lispy使用来自 的函数ace-jump-mode。我仍在考虑是否应该使用;; Package-Requires:cookie 或featurep为此使用cookie ,但主要问题是我想要一个干净的字节编译emacs -q.
我认为这应该消除字节编译警告:
(declare-function ace-jump-char-mode "ext:ace-jump-mode")
Run Code Online (Sandbox Code Playgroud)
但事实并非如此。对此有何想法?
确切地说,警告是“以下函数未知定义:ace-jump-char-mode,helm”。
Emacs提供有关字节编译的有用警告.是否有插件添加有关正在使用的破坏性操作的警告?所以当我写这样的代码时:
(defun get-countdown ()
(let ((x (number-sequence 0 10)))
(message (format "%s" (sort x #'>)))
x))#
Run Code Online (Sandbox Code Playgroud)
Emacs抱怨:
temp.el:4:5:Warning: using variable modified by `sort'.
Run Code Online (Sandbox Code Playgroud)
或者类似的东西elisp-newbie-mode突出了所有的破坏性功能?
我只是学习如何lein,并且我想从Java源代码中使用deftype在Clojure源代码中创建的类.这在基础教程中没有涉及,我无法使其正常工作.
问题是Java源代码无法导入Clojure类,因为它尚未编译.并且Clojure类未编译,因为Java源会中止编译.
我给出一个最小的例子:
创建一个新项目:
lein new app javafoo
Run Code Online (Sandbox Code Playgroud)添加 project.clj
:aot :all
:java-source-paths ["src/java"]
Run Code Online (Sandbox Code Playgroud)投入src/javafoo/core.clj:
(ns javafoo.core)
(deftype PPoint [x y])
Run Code Online (Sandbox Code Playgroud)投入src/java/JavaFoo.java:
package foo.java;
import javafoo.core.PPoint;
public class JavaFoo {
public static void main(String[] args) {
System.out.println("JavaFoo");
}
}
Run Code Online (Sandbox Code Playgroud)尝试编译
lein compile
Run Code Online (Sandbox Code Playgroud)它失败了package javafoo.core doesn't exist.所以现在我必须这样做
:java-source-paths:java-source-paths它终于奏效了.有没有办法让它从一开始就有效?
我想helm用作替代品display-completion-list.唯一的问题是它在顶部显示这一行,我不想要:
C-z: I don't want this line here (keeping session).
这是代码来说明:
(helm :sources `((name . "Do you have?")
(candidates . ("Red Leicester"
"Tilsit"
"Caerphilly"
"Bel Paese"
"Red Windsor"
"Stilton"))
(action . identity)
(persistent-help . "I don't want this line here"))
:buffer "*cheese shop*")
Run Code Online (Sandbox Code Playgroud)
我已经尝试设置persistent-help为nil,或者根本没有设置它,但它仍然出现.我怎么能把它关掉?
我一般都在使用ido-switch-buffer,但有时当候选人太多时,
helm-buffers-list更可取.但是打破偶像,召唤掌舵并重新输入丢失的信息是一件麻烦事.
所以我编写了这段代码,它直接在helm中重用ido中输入的信息:
(require 'helm-buffers)
(defun switch-to-helm-buffers-list ()
"Emulate `helm-buffers-list' call with ido contents as initial input."
(interactive)
(let ((str (minibuffer-contents-no-properties)))
(helm :sources '(helm-source-buffers-list
helm-source-ido-virtual-buffers
helm-source-buffer-not-found)
:buffer "*helm buffers*"
:keymap helm-buffer-map
:truncate-lines t
:input str)
;; (ido-exit-minibuffer)
))
(add-hook
'ido-setup-hook
(lambda()
(define-key ido-buffer-completion-map "\C-i"
'switch-to-helm-buffers-list)))
Run Code Online (Sandbox Code Playgroud)
一个问题是ido留在迷你缓冲区中.当我ido-exit-minibuffer之前添加一个电话时helm,它没有被调用.当我在之后添加它时,它会重置窗口配置.我怎么解决这个问题?
我希望向 firefox 上下文菜单添加一个菜单项,该菜单项仅在用户右键单击特定 url 时才会显示。我有一个测试网址的功能。我曾经通过订阅“popupshowing”事件来做到这一点,并且:
var item = document.getElementById("custom-menu-id");
if (item) // show only for specific links
item.hidden = gContextMenu.onLink && acceptableURL(gContextMenu.linkURL);
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试使用 Add-on SDK,但在那里我无法再访问 gContextMenu。文档中的这个片段对我不起作用:
var cm = require("sdk/context-menu");
cm.Item({
label: "Copy name to clipboard",
context: cm.URLContext("http://scholar.google*"),
contentScript: 'self.on("context", function(node) {return true; });'
});
Run Code Online (Sandbox Code Playgroud)
在这里,我认为应该可以得到类似 node.URL 的东西并进行测试,但它不起作用。也许有人可以建议如何从 sdk 访问 gContextMenu 或如何从节点或其他东西获取 URL。
我最近开始使用xargs
提供的优秀软件包\newcommandx.它共享类似于默认语法的语法\newcommand.我想font-lock反映一下.我做到了
(custom-set-variables
'(font-latex-user-keyword-classes
(quote (("cx" ("newcommandx" "*|{\\[[{")
(:family "font-lock-type-face") command)))))
Run Code Online (Sandbox Code Playgroud)
但是,这只是fontifies命令名称本身,而不是它的身体(\newcommandfontifies与身体'font-lock-function-name-face,这在我的情况是粗体).我想\newcommandx用它来塑造它的身体'font-lock-function-name-face.
总结一个问题:如何使fontification \newcommandx完全相同\newcommand(即在我的情况下是大胆的身体)?
我想用这种行为定义一个快捷方式“git diffn”:
git diffn := git diff HEAD HEAD~1
git diffn 1 := git diff HEAD~1 HEAD~2
git diffn 2 := git diff HEAD~2 HEAD~3
...
Run Code Online (Sandbox Code Playgroud)
第一个没问题,但我不知道如何制作其余的。
eog当我按下vdired缓冲区中的图像时,我想要风格导航.我在网上搜索了一下,但没有找到任何直截了当的东西.有image-dired,但缩略图不是我想要的.
我想要的那种行为,这已经到位对于大多数类型的文件:
v在dired显示了文件view-mode,其中n,p和q做明显的事.
我已经破解了一些东西dired-view-next,但我想知道是否已经有一个好的工作包?
该文档说它是一种特殊的形式,虽然我看到它被定义为一个宏.
同时(meta #'fn)兼顾:macro和:special-form真实.
最后,(special-symbol? 'fn)就是false虽然(special-symbol? 'fn*)是true.
有人可以为我清除这个吗?在Clojure中是否有任何其他奇怪的符号都是特殊形式和宏,而不是特殊符号?
还有一件事,它是迄今为止我见过的唯一可调用符号(meta #'fn):
{:arglists ([& sigs]),
:forms [(fn name? [params*] exprs*)
(fn name? ([params*] exprs*) +)]...}
Run Code Online (Sandbox Code Playgroud)
所以arg列表:arglists不像其他符号那样,但是在:forms.在Clojure中有这样的任何其他符号吗?
emacs ×6
elisp ×5
clojure ×2
auctex ×1
dired ×1
emacs-helm ×1
git ×1
javascript ×1
latex ×1
leiningen ×1