branch: elpa/lua-mode
commit 430679ce887b247b605822468a81234bbde4eaf7
Author: Nikita Bloshchanevich <[email protected]>
Commit: Nikita Bloshchanevich <[email protected]>
`lua-funcname-at-point': handle identifiers before
Now also handle identifiers that are before point: "table.insert|".
---
lua-mode.el | 8 +++++++-
test/test-funcname-at-point.el | 4 ++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/lua-mode.el b/lua-mode.el
index a3389d7..28123aa 100644
--- a/lua-mode.el
+++ b/lua-mode.el
@@ -2018,9 +2018,15 @@ Create a Lua process if one doesn't already exist."
(when (buffer-live-p lua-process-buffer)
(delete-windows-on lua-process-buffer)))
+(defun lua--funcname-char-p (c)
+ "Check if character C is part of a function name.
+Return nil if C is nil. See `lua-funcname-at-point'."
+ (and c (string-match-p "\\`[A-Za-z_.]\\'" (string c))))
+
(defun lua-funcname-at-point ()
"Get current Name { '.' Name } sequence."
- (when (looking-at-p "[A-Za-z_.]")
+ (when (or (lua--funcname-char-p (char-before))
+ (lua--funcname-char-p (char-after)))
(save-excursion
(save-match-data
(re-search-backward "\\`\\|[^A-Za-z_.]")
diff --git a/test/test-funcname-at-point.el b/test/test-funcname-at-point.el
index a73b368..0ca220a 100644
--- a/test/test-funcname-at-point.el
+++ b/test/test-funcname-at-point.el
@@ -23,9 +23,9 @@
(with-temp-buffer
(save-excursion (insert "table.insert."))
(expect (lua-funcname-at-point) :to-equal "table.insert")))
- (it "ignores identifiers before point"
+ (it "handles identifiers before point"
(with-temp-buffer
(insert "table.insert.")
- (expect (lua-funcname-at-point) :to-be nil))))
+ (expect (lua-funcname-at-point) :to-equal "table.insert"))))
;;; test-funcname-at-point.el ends here