[geany/geany-plugins] 06a579: Added keybinding for jumping to matching tag

Sagar Chalise git-noreply at xxxxx
Tue Jan 3 20:44:23 UTC 2017


Branch:      refs/heads/master
Author:      Sagar Chalise <chalisesagar at gmail.com>
Committer:   Frank Lanitz <frank at frank.uvena.de>
Date:        Tue, 03 Jan 2017 20:44:23 UTC
Commit:      06a5792475c836e013a58917b315f452ae575f0f
             https://github.com/geany/geany-plugins/commit/06a5792475c836e013a58917b315f452ae575f0f

Log Message:
-----------
Added keybinding for jumping to matching tag


Modified Paths:
--------------
    pairtaghighlighter/src/pair_tag_highlighter.c

Modified: pairtaghighlighter/src/pair_tag_highlighter.c
31 lines changed, 30 insertions(+), 1 deletions(-)
===================================================================
@@ -21,6 +21,12 @@
 #define NONMATCHING_PAIR_COLOR  0xff0000    /* red */
 #define EMPTY_TAG_COLOR         0xffff00    /* yellow */
 
+/* Keyboard Shortcut */
+enum {
+  KB_MATCH_TAG,
+  KB_COUNT
+};
+
 /* These items are set by Geany before plugin_init() is called. */
 GeanyPlugin     *geany_plugin;
 GeanyData       *geany_data;
@@ -382,7 +388,7 @@ static gboolean on_editor_notify(GObject *obj, GeanyEditor *editor,
     gint lexer;
 
     lexer = sci_get_lexer(editor->sci);
-    if((lexer != SCLEX_HTML) && (lexer != SCLEX_XML))
+    if((lexer != SCLEX_HTML) && (lexer != SCLEX_XML) && (lexer != SCLEX_PHPSCRIPT))
     {
         return FALSE;
     }
@@ -399,6 +405,25 @@ static gboolean on_editor_notify(GObject *obj, GeanyEditor *editor,
     return FALSE;
 }
 
+static void
+on_kb_goto_matching_tag (guint key_id)
+{
+    gint cur_line;
+    gint jump_line = 0;
+    if(highlightedBrackets[0] != highlightedBrackets[2] && highlightedBrackets[0] != 0){
+        GeanyDocument *doc = document_get_current();
+        cur_line = sci_get_current_position(doc->editor->sci);
+        if(cur_line >= highlightedBrackets[0] && cur_line <= highlightedBrackets[1]){
+            jump_line = highlightedBrackets[2];
+        }
+        else if(cur_line >= highlightedBrackets[2] && cur_line <= highlightedBrackets[3]){
+            jump_line = highlightedBrackets[0];
+        }
+        if(jump_line != 0){
+            sci_set_current_position(doc->editor->sci, jump_line, TRUE);
+        }
+    }
+}
 
 PluginCallback plugin_callbacks[] =
 {
@@ -409,6 +434,10 @@ PluginCallback plugin_callbacks[] =
 
 void plugin_init(GeanyData *data)
 {
+    GeanyKeyGroup *group;
+    group = plugin_set_key_group (geany_plugin, "Pair Tag Highlighter", KB_COUNT, NULL);
+    keybindings_set_item (group, KB_MATCH_TAG, on_kb_goto_matching_tag,
+                        0, 0, "goto_matching_tag", _("Go To Matching Tag"), NULL);
 }
 
 



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list