[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 2bfe1ad 16/20: snippet: Support guessing parent package/cl
From: |
Daiki Ueno |
Subject: |
[elpa] master 2bfe1ad 16/20: snippet: Support guessing parent package/class |
Date: |
Wed, 10 Feb 2016 08:39:32 +0000 |
branch: master
commit 2bfe1ad56add5c760be782cd3ba25cefea92813e
Author: Daiki Ueno <address@hidden>
Commit: Daiki Ueno <address@hidden>
snippet: Support guessing parent package/class
---
gnome-c-snippet.el | 19 +++++++++++++++----
gnome-c-tests.el | 10 ++++++++--
2 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/gnome-c-snippet.el b/gnome-c-snippet.el
index d720c76..b8999b4 100644
--- a/gnome-c-snippet.el
+++ b/gnome-c-snippet.el
@@ -83,7 +83,7 @@
(c-backward-syntactic-ws)
(point))))
uppercased-package uppercased-class
- capitalized-package capitalized-class)
+ capitalized-package capitalized-class capitalized-parent)
(c-forward-syntactic-ws)
(c-forward-token-2 3)
(setq uppercased-package (split-string
@@ -102,6 +102,14 @@
(c-backward-syntactic-ws)
(point)))
"_"))
+ (c-forward-syntactic-ws)
+ (c-forward-token-2)
+ (setq capitalized-parent (gnome-c-snippet--parse-name
+ (buffer-substring (point)
+ (progn
+ (c-forward-token-2)
+ (c-backward-syntactic-ws)
+ (point)))))
(catch 'error
(let ((index 0))
(dolist (uppercased uppercased-package)
@@ -123,7 +131,8 @@
(push capitalized capitalized-class)
(setq index (+ index length))))))
(list (nreverse capitalized-package)
- (nreverse capitalized-class)))))
+ (nreverse capitalized-class)
+ capitalized-parent))))
(defun gnome-c-snippet--find-header-buffer ()
(pcase (file-name-extension buffer-file-name)
@@ -145,7 +154,7 @@
(symbol-value (intern (format "gnome-c-snippet-%S" symbol)))))))
(defun gnome-c-snippet--guess-name-from-declaration (symbol)
- (when (memq symbol '(package class))
+ (when (memq symbol '(package class parent-package parent-class))
(let ((header-buffer (gnome-c-snippet--find-header-buffer)))
(when header-buffer
(with-current-buffer header-buffer
@@ -158,7 +167,9 @@
(when names
(pcase symbol
(`package (car names))
- (`class (nth 1 names)))))))))))
+ (`class (nth 1 names))
+ (`parent-package (list (car (nth 2 names))))
+ (`parent-class (cdr (nth 2 names))))))))))))
(defun gnome-c-snippet--guess-name-from-file-name (symbol)
(when (memq symbol '(package class))
diff --git a/gnome-c-tests.el b/gnome-c-tests.el
index fa13a73..75935ed 100644
--- a/gnome-c-tests.el
+++ b/gnome-c-tests.el
@@ -226,6 +226,12 @@ G_DECLARE_FINAL_TYPE (GGpgEngineInfo, g_gpg_engine_info,
G_GPG, ENGINE_INFO,
(c-mode)
(setq buffer-file-name "gpgme-glib.h")
(let ((package (gnome-c-snippet--guess-name-from-declaration 'package))
- (class (gnome-c-snippet--guess-name-from-declaration 'class)))
+ (class (gnome-c-snippet--guess-name-from-declaration 'class))
+ (parent-package
+ (gnome-c-snippet--guess-name-from-declaration 'parent-package))
+ (parent-class
+ (gnome-c-snippet--guess-name-from-declaration 'parent-class)))
(should (equal package '("G" "Gpg")))
- (should (equal class '("Engine" "Info"))))))
+ (should (equal class '("Engine" "Info")))
+ (should (equal parent-package '("G")))
+ (should (equal parent-class '("Object"))))))
- [elpa] master 25184d6 06/20: Fix typo in README.md, (continued)
- [elpa] master 25184d6 06/20: Fix typo in README.md, Daiki Ueno, 2016/02/10
- [elpa] master 79f77aa 07/20: snippet: Fix typo, Daiki Ueno, 2016/02/10
- [elpa] master 34132ba 08/20: README.md: Fix typo, Daiki Ueno, 2016/02/10
- [elpa] master 4cd7696 09/20: align: Expand documentation of align-region, Daiki Ueno, 2016/02/10
- [elpa] master b23b5a3 10/20: snippet: Upcase the first letter of names, Daiki Ueno, 2016/02/10
- [elpa] master df2906e 11/20: snippet: Always require subword, Daiki Ueno, 2016/02/10
- [elpa] master 82c34eb 12/20: snippet: Refactor name prompt, Daiki Ueno, 2016/02/10
- [elpa] master 9db7ee5 13/20: snippet: Support guessing package/class names, Daiki Ueno, 2016/02/10
- [elpa] master 2136dd5 14/20: snippet: Fix for older pcase, Daiki Ueno, 2016/02/10
- [elpa] master f3c2b22 15/20: tests: Add snippt tests, Daiki Ueno, 2016/02/10
- [elpa] master 2bfe1ad 16/20: snippet: Support guessing parent package/class,
Daiki Ueno <=
- [elpa] master 4ea87a1 17/20: tests: Add tests for guess-name-from-file-name, Daiki Ueno, 2016/02/10
- [elpa] master ab8b3ae 18/20: snippet: Add _{class_,}init, Daiki Ueno, 2016/02/10
- [elpa] master d827bb5 19/20: snippet: Improve _init prompt, Daiki Ueno, 2016/02/10
- [elpa] master 1abce8e 20/20: Merge commit 'd827bb511203a64da3ae5cc6910b87b7c99d233b', Daiki Ueno, 2016/02/10