summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2014-05-11 17:43:07 +0200
committerGravatar Tom Willemse2014-05-11 17:43:07 +0200
commit6c3e99fbc14697f4ea4180f59007f73e7af0baf4 (patch)
treec77a7b024bdac9a9ae821b22eacfc819b5d5504f
parent727f7f5e929f6b520b9c2b45670f6ca9b9c26ff7 (diff)
downloademacs-6c3e99fbc14697f4ea4180f59007f73e7af0baf4.tar.gz
emacs-6c3e99fbc14697f4ea4180f59007f73e7af0baf4.zip
Add known symbols to js2 for conkeror
-rw-r--r--.emacs.d/init.org45
1 files changed, 45 insertions, 0 deletions
diff --git a/.emacs.d/init.org b/.emacs.d/init.org
index 41360bd..b025d77 100644
--- a/.emacs.d/init.org
+++ b/.emacs.d/init.org
@@ -745,6 +745,51 @@
(add-hook 'python-mode-hook #'oni:python-package-buffer-identification)
#+END_SRC
+* Add some known symbols for .conkerorrc/init.js to js2-mode
+
+ Conkeror has a lot of functions, and I don't like seeing them all as
+ unknowns. So add them to known symbols.
+
+ *Note:* See my [[Vacuous defvar][note]] on vacuous defvar for this use of =defvar=.
+
+ #+BEGIN_SRC emacs-lisp
+ (defvar js2-additional-externs)
+
+ (defun oni:js2-add-conkeror-symbols ()
+ "Add known/used conkeror symbols to additional externs."
+ (when (string-suffix-p ".conkerorrc/init.js" (buffer-file-name))
+ (setq js2-additional-externs
+ '( ;; Functions
+ "add_hook" "check_buffer" "co_return" "content_buffer"
+ "define_browser_object_class" "define_key" "define_webjump"
+ "dumpln" "get_current_profile" "get_home_directory"
+ "get_recent_conkeror_window"
+ "hints_minibuffer_annotation_mode" "interactive" "load_spec"
+ "load_spec_uri_string" "load_url_in_new_buffer" "make_file"
+ "make_uri" "mode_line_adder"
+ "open_download_buffer_automatically" "prefix_completer"
+ "read_browser_object" "register_user_stylesheet"
+ "remove_hook" "require" "send_http_request" "session_pref"
+ "shell_command_blind" "theme_load"
+ ;; Variables
+ "Cc" "Ci" "browser_object_history_url" "browser_object_links"
+ "buffer_count_widget" "buffer_icon_widget" "content_buffer"
+ "content_buffer_form_keymap" "content_buffer_normal_keymap"
+ "content_buffer_text_keymap" "content_policy_accept"
+ "content_policy_bytype" "content_policy_reject" "cwd"
+ "default_base_keymap" "default_global_keymap"
+ "downloads_status_widget" "external_content_handlers"
+ "hint_digits" "load_paths" "read_buffer_show_icons"
+ "read_url_handler_list" "session_auto_save_auto_load"
+ "theme_load_paths" "title_format_fn" "url_remoting_fn"
+ ;; Keyword argument
+ "$alternative" "$browser_object" "$completer" "$completions"
+ "$initial_value" "$options" "$prompt" "$sort_order"
+ "$use_bookmarks" "$use_history" "$use_webjumps"))))
+
+ (add-hook 'js2-init-hook #'oni:js2-add-conkeror-symbols)
+ #+END_SRC
+
* Load custom file
I don't really use the Emacs customization interface much, but I