Skip to content

Instantly share code, notes, and snippets.

@greister
Forked from davazp/ffap-nodejs-module.el
Created December 2, 2016 12:45
Show Gist options
  • Save greister/352cf7d87e5718047a3b429b90e4f950 to your computer and use it in GitHub Desktop.
Save greister/352cf7d87e5718047a3b429b90e4f950 to your computer and use it in GitHub Desktop.
Find node module at point
;;; Try to find the string at point as a NodeJS module
(require 'ffap)
(defun ffap-nodejs-module (name)
(unless (or (string-prefix-p "/" name)
(string-prefix-p "./" name)
(string-prefix-p "../" name))
(let ((base (locate-dominating-file
default-directory
(lambda (dir)
(let ((filename (concat dir "node_modules/" name)))
(and (file-exists-p filename)
filename))))))
(and base (concat base "node_modules/" name)))))
(add-to-list 'ffap-alist '(js-mode . ffap-nodejs-module) t)
(add-to-list 'ffap-alist '(js2-mode . ffap-nodejs-module) t)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment