From: Daiki Ueno Date: Sun, 17 Jan 2016 03:14:15 +0000 (+0900) Subject: snippet: Make options customizable X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/1e678062531c6bd02a589681de99e2f02a34de2f snippet: Make options customizable --- diff --git a/gnome-align.el b/gnome-align.el index d84d0dbb5..7ac94aa6b 100644 --- a/gnome-align.el +++ b/gnome-align.el @@ -25,11 +25,16 @@ (require 'cc-mode) (require 'cl-lib) +(defgroup gnome-minor-mode nil + "GNOME-style C source code editing" + :prefix "gnome-" + :group 'c) + (defcustom gnome-align-max-column 80 "Maximum number of columns per line." :type '(choice (integer :tag "Columns") (const :tag "No wrap")) - :group 'c) + :group 'gnome-minor-mode) (defvar gnome-align-identifier-start-column nil) (make-variable-buffer-local 'gnome-align-identifier-start-column) diff --git a/gnome-snippet.el b/gnome-snippet.el index f8aad95be..a2862ab29 100644 --- a/gnome-snippet.el +++ b/gnome-snippet.el @@ -41,7 +41,11 @@ (defvar gnome-snippet-parent-class nil) (make-variable-buffer-local 'gnome-snippet-parent-class) -(defvar gnome-snippet-align-arglist nil) +(defcustom gnome-snippet-align-arglist t + "Whether to align argument list of the inserted snippet" + :type 'boolean + :group 'gnome-minor-mode) + (make-variable-buffer-local 'gnome-snippet-align-arglist) (defun gnome-snippet--parse-name (name) @@ -309,13 +313,14 @@ static GObject * (setq arglist-start (point-marker)) (insert "GType *object, guint n_construct_properties, -GObjectConstructParam *construct_properties") - (funcall (if gnome-snippet-align-arglist - #'gnome-align-region - #'indent-region) - arglist-start (point)) - (insert ")\n") +GObjectConstructParam *construct_properties)\n") (setq body-start (point-marker)) + (if gnome-snippet-align-arglist + (progn + (goto-char arglist-start) + (gnome-align-at-point)) + (indent-region arglist-start (point))) + (goto-char body-start) (insert "{ " (gnome-snippet--format-PackageClass package class) " *self = " (gnome-snippet--format-PACKAGE_CLASS package class) " (object); @@ -340,13 +345,14 @@ static void (insert "GObject *object, guint prop_id, const GValue *value, -GParamSpec *pspec") - (funcall (if gnome-snippet-align-arglist - #'gnome-align-region - #'indent-region) - arglist-start (point)) - (insert ")\n") +GParamSpec *pspec)\n") (setq body-start (point-marker)) + (if gnome-snippet-align-arglist + (progn + (goto-char arglist-start) + (gnome-align-at-point)) + (indent-region arglist-start (point))) + (goto-char body-start) (insert "{ " (gnome-snippet--format-PackageClass package class) " *self = " (gnome-snippet--format-PACKAGE_CLASS package class) " (object); @@ -376,13 +382,14 @@ static void (insert "GObject *object, guint prop_id, GValue *value, -GParamSpec *pspec") - (funcall (if gnome-snippet-align-arglist - #'gnome-align-region - #'indent-region) - arglist-start (point)) - (insert ")\n") +GParamSpec *pspec)\n") (setq body-start (point-marker)) + (if gnome-snippet-align-arglist + (progn + (goto-char arglist-start) + (gnome-align-at-point)) + (indent-region arglist-start (point))) + (goto-char body-start) (insert "{ " (gnome-snippet--format-PackageClass package class) " *self = " (gnome-snippet--format-PACKAGE_CLASS package class) " (object);