diff options
author | Adam Chlipala <adam@chlipala.net> | 2020-01-15 12:07:44 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-15 12:07:44 -0500 |
commit | 5cce43a484bdde0053820b8ae408bcba830b25ba (patch) | |
tree | 9d5719046e082337e3ed057e6a495db3faca2c8a /src/elisp/urweb-mode.el | |
parent | 11bf1e86020f99893cd987eb1a15952e517248cf (diff) | |
parent | 483115ee395c26ba7b52ac84757c8a1de4fe2d33 (diff) |
Merge pull request #186 from FrigoEU/lsp
Language Server Protocol (LSP)
Diffstat (limited to 'src/elisp/urweb-mode.el')
-rw-r--r-- | src/elisp/urweb-mode.el | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/elisp/urweb-mode.el b/src/elisp/urweb-mode.el index 69b0e23c..057761ac 100644 --- a/src/elisp/urweb-mode.el +++ b/src/elisp/urweb-mode.el @@ -925,6 +925,33 @@ Optional argument STYLE is currently ignored." (urweb-skip-siblings)) fullname))) +(defun urweb-get-proj-dir (bfn) + (locate-dominating-file + bfn + (lambda (dir) + (some (lambda (f) (s-suffix? ".urp" f)) + (if (f-dir? dir) + (directory-files dir) + (list '(dir))))))) + +(defun urweb-get-info () + (interactive) + (let* + ((row (line-number-at-pos)) + (col (evil-column)) + (bfn (buffer-file-name)) + (proj-dir (urweb-get-proj-dir bfn)) + (filename (file-relative-name bfn proj-dir)) + (loc (concat filename ":" (number-to-string row) ":" (number-to-string col))) + ) + (require 's) + (require 'f) + (require 'simple) + (message (let + ((default-directory proj-dir)) + (shell-command-to-string (concat "urweb -getInfo " loc))))) + ) + (provide 'urweb-mode) ;;; urweb-mode.el ends here |