My Gmate Mod

ผมใช้ gmate (ชุด plugin ของ gedit) มาสักพักก็มีเรื่องขัดใจนิดหน่อย แต่ส่วนมากคือชอบนะ ฯ กรณีที่ผมอธิบายได้ตอนนี้มี 2 แบบคือ

  1. เวลาใส่เครื่องหมายน้อยกว่า มันเติมมากกว่าให้ตลอด สมมุติผมอยากพิมพ์ if x < y ฯ มันก็จะขึ้น if x y ตลอด
  2. อีกอย่างเวลาจะส่ง list ไปใน argument แทน เช่น ทีแรกเขียน my_func(1,2,3) จะแก้เป็น my_func([1,2,3]) มันก็จะไม่ค่อยขึ้นมาให้ ฯ แต่จะเป็นแบบนี้แทน my_func([]1,2,3)

ดูๆ แล้วก็แก้ gemini.py ก็เลยลองเอามาแบ่งๆ กันใช้ดูเผื่อคนอื่นชอบ จะได้พยายาม submit ไปต้นน้ำ ฯ ถ้าผมชอบคนเดียวก็ใช้คนเดียว ฯ

diff --git a/plugins/gemini.py b/plugins/gemini.py
index 0c916e7..2ee79b5 100644
--- a/plugins/gemini.py
+++ b/plugins/gemini.py
@@ -52,8 +52,8 @@ class GeminiPlugin( gedit.Plugin):
 class Gemini:
     start_keyvals = [34, 39, 96, 40, 91, 123,60]
     end_keyvals   = [34, 39, 96, 41, 93, 125,62]
-    twin_start    = ['"',"'",'`','(','[','{','<']
-    twin_end      = ['"',"'",'`',')',']','}','>']
+    twin_start    = ['"',"'",'`','(','[','{']
+    twin_end      = ['"',"'",'`',')',']','}']
 
     def __init__(self):
         return
@@ -89,7 +89,8 @@ class Gemini:
                 buf.delete(start_iter, end_iter)
                 buf.insert_at_cursor(start_str + selected_text + end_str)
                 return True
-            elif end_str != forward_char and end_str != None:
+            elif end_str != forward_char and end_str != None and \
+                    forward_char in (" ", "\t", ""):
                 # insert the twin that matches your typed twin
                 buf.insert(cursor_iter, end_str)
                 if cursor_iter.backward_char():
@@ -142,4 +143,4 @@ class Gemini:
                     buf.insert_at_cursor(' ' * view.get_tab_width())
                 else:
                     buf.insert_at_cursor('\t')
-                return True
\ No newline at end of file
+                return True

One thought on “My Gmate Mod

  1. เห็นด้วยกับกรณีแรกมากครับ เครื่องหมาย นี่ลำบากจริงๆ

    สรุปว่า patch นี้เอา ออก แล้วเพิ่มเงื่อนไขในการใส่ [] () ยังไงบ้างหรอครับ?

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s