Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import geany
- class AutoCloseBracketPlugin(geany.Plugin):
- __plugin_name__ = "Auto Close Bracket Plugin"
- __plugin_version__ = "0.01"
- __plugin_description__ = "Inserts the close bracket automatically in a context sensitive way."
- __plugin_author__ = "Francesco Pasqua <cesconix87@gmail.com>"
- bracket = {
- '{' : '}',
- '[' : ']',
- '(' : ')'
- }
- openedBracket = bracket.keys()
- closedBracket = bracket.values()
- sci = None # ScintillaObject
- def __init__(self):
- geany.Plugin.__init__(self)
- geany.signals.connect("editor-notify", self.onEditorNotify)
- def onEditorNotify(self, obj, editor, nt):
- self.sci = editor.scintilla
- if nt.nmhdr.code == 2001: # modify: SCN_CARHADDED
- self.onCharAdded(nt.ch)
- def onCharAdded(self, char):
- if char in self.openedBracket:
- self.onOpenedBracket(char)
- if char in self.closedBracket:
- self.onClosedBracket(char)
- def onOpenedBracket(self, char):
- self.sci.insert_text(self.bracket[char])
- def onClosedBracket(self, char):
- currentPosition = self.sci.get_current_position()
- if (char == self.sci.get_char_at(currentPosition)):
- print dir(self.sci)
- self.sci.send_command('')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement