summaryrefslogtreecommitdiff
path: root/tests/lexers/nim/example.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lexers/nim/example.txt')
-rw-r--r--tests/lexers/nim/example.txt9981
1 files changed, 9981 insertions, 0 deletions
diff --git a/tests/lexers/nim/example.txt b/tests/lexers/nim/example.txt
new file mode 100644
index 00000000..a09d202f
--- /dev/null
+++ b/tests/lexers/nim/example.txt
@@ -0,0 +1,9981 @@
+---input---
+import glib2, gtk2, gdk2, gtksourceview, dialogs, os, pango, osproc, strutils
+import pegs, streams
+import settings, types, cfg, search
+
+{.push callConv:cdecl.}
+
+const
+ NimrodProjectExt = ".nimprj"
+
+var win: types.MainWin
+win.Tabs = @[]
+
+search.win = addr(win)
+
+var lastSession: seq[string] = @[]
+
+var confParseFail = False # This gets set to true
+ # When there is an error parsing the config
+
+# Load the settings
+try:
+ win.settings = cfg.load(lastSession)
+except ECFGParse:
+ # TODO: Make the dialog show the exception
+ confParseFail = True
+ win.settings = cfg.defaultSettings()
+except EIO:
+ win.settings = cfg.defaultSettings()
+
+proc getProjectTab(): int =
+ for i in 0..high(win.tabs):
+ if win.tabs[i].filename.endswith(NimrodProjectExt): return i
+
+proc saveTab(tabNr: int, startpath: string) =
+ if tabNr < 0: return
+ if win.Tabs[tabNr].saved: return
+ var path = ""
+ if win.Tabs[tabNr].filename == "":
+ path = ChooseFileToSave(win.w, startpath)
+ # dialogs.nim STOCK_OPEN instead of STOCK_SAVE
+ else:
+ path = win.Tabs[tabNr].filename
+
+ if path != "":
+ var buffer = PTextBuffer(win.Tabs[tabNr].buffer)
+ # Get the text from the TextView
+ var startIter: TTextIter
+ buffer.getStartIter(addr(startIter))
+
+ var endIter: TTextIter
+ buffer.getEndIter(addr(endIter))
+
+ var text = buffer.getText(addr(startIter), addr(endIter), False)
+ # Save it to a file
+ var f: TFile
+ if open(f, path, fmWrite):
+ f.write(text)
+ f.close()
+
+ win.tempStuff.lastSaveDir = splitFile(path).dir
+
+ # Change the tab name and .Tabs.filename etc.
+ win.Tabs[tabNr].filename = path
+ win.Tabs[tabNr].saved = True
+ var name = extractFilename(path)
+
+ var cTab = win.Tabs[tabNr]
+ cTab.label.setText(name)
+ else:
+ error(win.w, "Unable to write to file")
+
+proc saveAllTabs() =
+ for i in 0..high(win.tabs):
+ saveTab(i, os.splitFile(win.tabs[i].filename).dir)
+
+# GTK Events
+# -- w(PWindow)
+proc destroy(widget: PWidget, data: pgpointer) {.cdecl.} =
+ # gather some settings
+ win.settings.VPanedPos = PPaned(win.sourceViewTabs.getParent()).getPosition()
+ win.settings.winWidth = win.w.allocation.width
+ win.settings.winHeight = win.w.allocation.height
+
+ # save the settings
+ win.save()
+ # then quit
+ main_quit()
+
+proc delete_event(widget: PWidget, event: PEvent, user_data: pgpointer): bool =
+ var quit = True
+ for i in low(win.Tabs)..len(win.Tabs)-1:
+ if not win.Tabs[i].saved:
+ var askSave = dialogNewWithButtons("", win.w, 0,
+ STOCK_SAVE, RESPONSE_ACCEPT, STOCK_CANCEL,
+ RESPONSE_CANCEL,
+ "Close without saving", RESPONSE_REJECT, nil)
+ askSave.setTransientFor(win.w)
+ # TODO: Make this dialog look better
+ var label = labelNew(win.Tabs[i].filename &
+ " is unsaved, would you like to save it ?")
+ PBox(askSave.vbox).pack_start(label, False, False, 0)
+ label.show()
+
+ var resp = askSave.run()
+ gtk2.destroy(PWidget(askSave))
+ case resp
+ of RESPONSE_ACCEPT:
+ saveTab(i, os.splitFile(win.tabs[i].filename).dir)
+ quit = True
+ of RESPONSE_CANCEL:
+ quit = False
+ break
+ of RESPONSE_REJECT:
+ quit = True
+ else:
+ quit = False
+ break
+
+ # If False is returned the window will close
+ return not quit
+
+proc windowState_Changed(widget: PWidget, event: PEventWindowState,
+ user_data: pgpointer) =
+ win.settings.winMaximized = (event.newWindowState and
+ WINDOW_STATE_MAXIMIZED) != 0
+
+# -- SourceView(PSourceView) & SourceBuffer
+proc updateStatusBar(buffer: PTextBuffer){.cdecl.} =
+ # Incase this event gets fired before
+ # bottomBar is initialized
+ if win.bottomBar != nil and not win.tempStuff.stopSBUpdates:
+ var iter: TTextIter
+
+ win.bottomBar.pop(0)
+ buffer.getIterAtMark(addr(iter), buffer.getInsert())
+ var row = getLine(addr(iter)) + 1
+ var col = getLineOffset(addr(iter))
+ discard win.bottomBar.push(0, "Line: " & $row & " Column: " & $col)
+
+proc cursorMoved(buffer: PTextBuffer, location: PTextIter,
+ mark: PTextMark, user_data: pgpointer){.cdecl.} =
+ updateStatusBar(buffer)
+
+proc onCloseTab(btn: PButton, user_data: PWidget) =
+ if win.sourceViewTabs.getNPages() > 1:
+ var tab = win.sourceViewTabs.pageNum(user_data)
+ win.sourceViewTabs.removePage(tab)
+
+ win.Tabs.delete(tab)
+
+proc onSwitchTab(notebook: PNotebook, page: PNotebookPage, pageNum: guint,
+ user_data: pgpointer) =
+ if win.Tabs.len()-1 >= pageNum:
+ win.w.setTitle("Aporia IDE - " & win.Tabs[pageNum].filename)
+
+proc createTabLabel(name: string, t_child: PWidget): tuple[box: PWidget,
+ label: PLabel] =
+ var box = hboxNew(False, 0)
+ var label = labelNew(name)
+ var closebtn = buttonNew()
+ closeBtn.setLabel(nil)
+ var iconSize = iconSizeFromName("tabIconSize")
+ if iconSize == 0:
+ iconSize = iconSizeRegister("tabIconSize", 10, 10)
+ var image = imageNewFromStock(STOCK_CLOSE, iconSize)
+ discard gSignalConnect(closebtn, "clicked", G_Callback(onCloseTab), t_child)
+ closebtn.setImage(image)
+ gtk2.setRelief(closebtn, RELIEF_NONE)
+ box.packStart(label, True, True, 0)
+ box.packEnd(closebtn, False, False, 0)
+ box.showAll()
+ return (box, label)
+
+proc changed(buffer: PTextBuffer, user_data: pgpointer) =
+ # Update the 'Line & Column'
+ #updateStatusBar(buffer)
+
+ # Change the tabs state to 'unsaved'
+ # and add '*' to the Tab Name
+ var current = win.SourceViewTabs.getCurrentPage()
+ var name = ""
+ if win.Tabs[current].filename == "":
+ win.Tabs[current].saved = False
+ name = "Untitled *"
+ else:
+ win.Tabs[current].saved = False
+ name = extractFilename(win.Tabs[current].filename) & " *"
+
+ var cTab = win.Tabs[current]
+ cTab.label.setText(name)
+
+# Other(Helper) functions
+
+proc initSourceView(SourceView: var PWidget, scrollWindow: var PScrolledWindow,
+ buffer: var PSourceBuffer) =
+ # This gets called by addTab
+ # Each tabs creates a new SourceView
+ # SourceScrolledWindow(ScrolledWindow)
+ scrollWindow = scrolledWindowNew(nil, nil)
+ scrollWindow.setPolicy(POLICY_AUTOMATIC, POLICY_AUTOMATIC)
+ scrollWindow.show()
+
+ # SourceView(gtkSourceView)
+ SourceView = sourceViewNew(buffer)
+ PSourceView(SourceView).setInsertSpacesInsteadOfTabs(True)
+ PSourceView(SourceView).setIndentWidth(win.settings.indentWidth)
+ PSourceView(SourceView).setShowLineNumbers(win.settings.showLineNumbers)
+ PSourceView(SourceView).setHighlightCurrentLine(
+ win.settings.highlightCurrentLine)
+ PSourceView(SourceView).setShowRightMargin(win.settings.rightMargin)
+ PSourceView(SourceView).setAutoIndent(win.settings.autoIndent)
+
+ var font = font_description_from_string(win.settings.font)
+ SourceView.modifyFont(font)
+
+ scrollWindow.add(SourceView)
+ SourceView.show()
+
+ buffer.setHighlightMatchingBrackets(
+ win.settings.highlightMatchingBrackets)
+
+ # UGLY workaround for yet another compiler bug:
+ discard gsignalConnect(buffer, "mark-set",
+ GCallback(aporia.cursorMoved), nil)
+ discard gsignalConnect(buffer, "changed", GCallback(aporia.changed), nil)
+
+ # -- Set the syntax highlighter scheme
+ buffer.setScheme(win.scheme)
+
+proc addTab(name, filename: string) =
+ ## Adds a tab, if filename is not "" reads the file. And sets
+ ## the tabs SourceViews text to that files contents.
+ assert(win.nimLang != nil)
+ var buffer: PSourceBuffer = sourceBufferNew(win.nimLang)
+
+ if filename != nil and filename != "":
+ var lang = win.langMan.guessLanguage(filename, nil)
+ if lang != nil:
+ buffer.setLanguage(lang)
+ else:
+ buffer.setHighlightSyntax(False)
+
+ var nam = name
+ if nam == "": nam = "Untitled"
+ if filename == "": nam.add(" *")
+ elif filename != "" and name == "":
+ # Disable the undo/redo manager.
+ buffer.begin_not_undoable_action()
+
+ # Load the file.
+ var file: string = readFile(filename)
+ if file != nil:
+ buffer.set_text(file, len(file))
+
+ # Enable the undo/redo manager.
+ buffer.end_not_undoable_action()
+
+ # Get the name.ext of the filename, for the tabs title
+ nam = extractFilename(filename)
+
+ # Init the sourceview
+ var sourceView: PWidget
+ var scrollWindow: PScrolledWindow
+ initSourceView(sourceView, scrollWindow, buffer)
+
+ var (TabLabel, labelText) = createTabLabel(nam, scrollWindow)
+ # Add a tab
+ discard win.SourceViewTabs.appendPage(scrollWindow, TabLabel)
+
+ var nTab: Tab
+ nTab.buffer = buffer
+ nTab.sourceView = sourceView
+ nTab.label = labelText
+ nTab.saved = (filename != "")
+ nTab.filename = filename
+ win.Tabs.add(nTab)
+
+ PTextView(SourceView).setBuffer(nTab.buffer)
+
+# GTK Events Contd.
+# -- TopMenu & TopBar
+
+proc newFile(menuItem: PMenuItem, user_data: pgpointer) =
+ addTab("", "")
+ win.sourceViewTabs.setCurrentPage(win.Tabs.len()-1)
+
+proc openFile(menuItem: PMenuItem, user_data: pgpointer) =
+ var startpath = ""
+ var currPage = win.SourceViewTabs.getCurrentPage()
+ if currPage <% win.tabs.len:
+ startpath = os.splitFile(win.tabs[currPage].filename).dir
+
+ if startpath.len == 0:
+ # Use lastSavePath as the startpath
+ startpath = win.tempStuff.lastSaveDir
+ if startpath.len == 0:
+ startpath = os.getHomeDir()
+
+ var files = ChooseFilesToOpen(win.w, startpath)
+ if files.len() > 0:
+ for f in items(files):
+ try:
+ addTab("", f)
+ except EIO:
+ error(win.w, "Unable to read from file")
+ # Switch to the newly created tab
+ win.sourceViewTabs.setCurrentPage(win.Tabs.len()-1)
+
+proc saveFile_Activate(menuItem: PMenuItem, user_data: pgpointer) =
+ var current = win.SourceViewTabs.getCurrentPage()
+ saveTab(current, os.splitFile(win.tabs[current].filename).dir)
+
+proc saveFileAs_Activate(menuItem: PMenuItem, user_data: pgpointer) =
+ var current = win.SourceViewTabs.getCurrentPage()
+ var (filename, saved) = (win.Tabs[current].filename, win.Tabs[current].saved)
+
+ win.Tabs[current].saved = False
+ win.Tabs[current].filename = ""
+ saveTab(current, os.splitFile(filename).dir)
+ # If the user cancels the save file dialog. Restore the previous filename
+ # and saved state
+ if win.Tabs[current].filename == "":
+ win.Tabs[current].filename = filename
+ win.Tabs[current].saved = saved
+
+proc undo(menuItem: PMenuItem, user_data: pgpointer) =
+ var current = win.SourceViewTabs.getCurrentPage()
+ if win.Tabs[current].buffer.canUndo():
+ win.Tabs[current].buffer.undo()
+
+proc redo(menuItem: PMenuItem, user_data: pgpointer) =
+ var current = win.SourceViewTabs.getCurrentPage()
+ if win.Tabs[current].buffer.canRedo():
+ win.Tabs[current].buffer.redo()
+
+proc find_Activate(menuItem: PMenuItem, user_data: pgpointer) =
+ # Get the selected text, and set the findEntry to it.
+ var currentTab = win.SourceViewTabs.getCurrentPage()
+ var insertIter: TTextIter
+ win.Tabs[currentTab].buffer.getIterAtMark(addr(insertIter),
+ win.Tabs[currentTab].buffer.getInsert())
+ var insertOffset = addr(insertIter).getOffset()
+
+ var selectIter: TTextIter
+ win.Tabs[currentTab].buffer.getIterAtMark(addr(selectIter),
+ win.Tabs[currentTab].buffer.getSelectionBound())
+ var selectOffset = addr(selectIter).getOffset()
+
+ if insertOffset != selectOffset:
+ var text = win.Tabs[currentTab].buffer.getText(addr(insertIter),
+ addr(selectIter), false)
+ win.findEntry.setText(text)
+
+ win.findBar.show()
+ win.findEntry.grabFocus()
+ win.replaceEntry.hide()
+ win.replaceLabel.hide()
+ win.replaceBtn.hide()
+ win.replaceAllBtn.hide()
+
+proc replace_Activate(menuitem: PMenuItem, user_data: pgpointer) =
+ win.findBar.show()
+ win.findEntry.grabFocus()
+ win.replaceEntry.show()
+ win.replaceLabel.show()
+ win.replaceBtn.show()
+ win.replaceAllBtn.show()
+
+proc settings_Activate(menuitem: PMenuItem, user_data: pgpointer) =
+ settings.showSettings(win)
+
+proc viewBottomPanel_Toggled(menuitem: PCheckMenuItem, user_data: pgpointer) =
+ win.settings.bottomPanelVisible = menuitem.itemGetActive()
+ if win.settings.bottomPanelVisible:
+ win.bottomPanelTabs.show()
+ else:
+ win.bottomPanelTabs.hide()
+
+var
+ pegLineError = peg"{[^(]*} '(' {\d+} ', ' \d+ ') Error:' \s* {.*}"
+ pegLineWarning = peg"{[^(]*} '(' {\d+} ', ' \d+ ') ' ('Warning:'/'Hint:') \s* {.*}"
+ pegOtherError = peg"'Error:' \s* {.*}"
+ pegSuccess = peg"'Hint: operation successful'.*"
+
+proc addText(textView: PTextView, text: string, colorTag: PTextTag = nil) =
+ if text != nil:
+ var iter: TTextIter
+ textView.getBuffer().getEndIter(addr(iter))
+
+ if colorTag == nil:
+ textView.getBuffer().insert(addr(iter), text, len(text))
+ else:
+ textView.getBuffer().insertWithTags(addr(iter), text, len(text), colorTag,
+ nil)
+
+proc createColor(textView: PTextView, name, color: string): PTextTag =
+ var tagTable = textView.getBuffer().getTagTable()
+ result = tagTable.tableLookup(name)
+ if result == nil:
+ result = textView.getBuffer().createTag(name, "foreground", color, nil)
+
+when not defined(os.findExe):
+ proc findExe(exe: string): string =
+ ## returns "" if the exe cannot be found
+ result = addFileExt(exe, os.exeExt)
+ if ExistsFile(result): return
+ var path = os.getEnv("PATH")
+ for candidate in split(path, pathSep):
+ var x = candidate / result
+ if ExistsFile(x): return x
+ result = ""
+
+proc GetCmd(cmd, filename: string): string =
+ var f = quoteIfContainsWhite(filename)
+ if cmd =~ peg"\s* '$' y'findExe' '(' {[^)]+} ')' {.*}":
+ var exe = quoteIfContainsWhite(findExe(matches[0]))
+ if exe.len == 0: exe = matches[0]
+ result = exe & " " & matches[1] % f
+ else:
+ result = cmd % f
+
+proc showBottomPanel() =
+ if not win.settings.bottomPanelVisible:
+ win.bottomPanelTabs.show()
+ win.settings.bottomPanelVisible = true
+ PCheckMenuItem(win.viewBottomPanelMenuItem).itemSetActive(true)
+ # Scroll to the end of the TextView
+ # This is stupid, it works sometimes... it's random
+ var endIter: TTextIter
+ win.outputTextView.getBuffer().getEndIter(addr(endIter))
+ discard win.outputTextView.scrollToIter(
+ addr(endIter), 0.25, False, 0.0, 0.0)
+
+proc compileRun(currentTab: int, shouldRun: bool) =
+ if win.Tabs[currentTab].filename.len == 0: return
+ # Clear the outputTextView
+ win.outputTextView.getBuffer().setText("", 0)
+
+ var outp = osProc.execProcess(GetCmd(win.settings.nimrodCmd,
+ win.Tabs[currentTab].filename))
+ # Colors
+ var normalTag = createColor(win.outputTextView, "normalTag", "#3d3d3d")
+ var errorTag = createColor(win.outputTextView, "errorTag", "red")
+ var warningTag = createColor(win.outputTextView, "warningTag", "darkorange")
+ var successTag = createColor(win.outputTextView, "successTag", "darkgreen")
+ for x in outp.splitLines():
+ if x =~ pegLineError / pegOtherError:
+ win.outputTextView.addText("\n" & x, errorTag)
+ elif x=~ pegSuccess:
+ win.outputTextView.addText("\n" & x, successTag)
+
+ # Launch the process
+ if shouldRun:
+ var filename = changeFileExt(win.Tabs[currentTab].filename, os.ExeExt)
+ var output = "\n" & osProc.execProcess(filename)
+ win.outputTextView.addText(output)
+ elif x =~ pegLineWarning:
+ win.outputTextView.addText("\n" & x, warningTag)
+ else:
+ win.outputTextView.addText("\n" & x, normalTag)
+ showBottomPanel()
+
+proc CompileCurrent_Activate(menuitem: PMenuItem, user_data: pgpointer) =
+ saveFile_Activate(nil, nil)
+ compileRun(win.SourceViewTabs.getCurrentPage(), false)
+
+proc CompileRunCurrent_Activate(menuitem: PMenuItem, user_data: pgpointer) =
+ saveFile_Activate(nil, nil)
+ compileRun(win.SourceViewTabs.getCurrentPage(), true)
+
+proc CompileProject_Activate(menuitem: PMenuItem, user_data: pgpointer) =
+ saveAllTabs()
+ compileRun(getProjectTab(), false)
+
+proc CompileRunProject_Activate(menuitem: PMenuItem, user_data: pgpointer) =
+ saveAllTabs()
+ compileRun(getProjectTab(), true)
+
+proc RunCustomCommand(cmd: string) =
+ saveFile_Activate(nil, nil)
+ var currentTab = win.SourceViewTabs.getCurrentPage()
+ if win.Tabs[currentTab].filename.len == 0 or cmd.len == 0: return
+ # Clear the outputTextView
+ win.outputTextView.getBuffer().setText("", 0)
+ var outp = osProc.execProcess(GetCmd(cmd, win.Tabs[currentTab].filename))
+ var normalTag = createColor(win.outputTextView, "normalTag", "#3d3d3d")
+ for x in outp.splitLines():
+ win.outputTextView.addText("\n" & x, normalTag)
+ showBottomPanel()
+
+proc RunCustomCommand1(menuitem: PMenuItem, user_data: pgpointer) =
+ RunCustomCommand(win.settings.customCmd1)
+
+proc RunCustomCommand2(menuitem: PMenuItem, user_data: pgpointer) =
+ RunCustomCommand(win.settings.customCmd2)
+
+proc RunCustomCommand3(menuitem: PMenuItem, user_data: pgpointer) =
+ RunCustomCommand(win.settings.customCmd3)
+
+# -- FindBar
+
+proc nextBtn_Clicked(button: PButton, user_data: pgpointer) = findText(True)
+proc prevBtn_Clicked(button: PButton, user_data: pgpointer) = findText(False)
+
+proc replaceBtn_Clicked(button: PButton, user_data: pgpointer) =
+ var currentTab = win.SourceViewTabs.getCurrentPage()
+ var start, theEnd: TTextIter
+ if not win.Tabs[currentTab].buffer.getSelectionBounds(
+ addr(start), addr(theEnd)):
+ # If no text is selected, try finding a match.
+ findText(True)
+ if not win.Tabs[currentTab].buffer.getSelectionBounds(
+ addr(start), addr(theEnd)):
+ # No match
+ return
+
+ # Remove the text
+ win.Tabs[currentTab].buffer.delete(addr(start), addr(theEnd))
+ # Insert the replacement
+ var text = getText(win.replaceEntry)
+ win.Tabs[currentTab].buffer.insert(addr(start), text, len(text))
+
+proc replaceAllBtn_Clicked(button: PButton, user_data: pgpointer) =
+ var find = getText(win.findEntry)
+ var replace = getText(win.replaceEntry)
+ discard replaceAll(find, replace)
+
+proc closeBtn_Clicked(button: PButton, user_data: pgpointer) =
+ win.findBar.hide()
+
+proc caseSens_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
+ win.settings.search = "casesens"
+proc caseInSens_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
+ win.settings.search = "caseinsens"
+proc style_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
+ win.settings.search = "style"
+proc regex_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
+ win.settings.search = "regex"
+proc peg_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
+ win.settings.search = "peg"
+
+proc extraBtn_Clicked(button: PButton, user_data: pgpointer) =
+ var extraMenu = menuNew()
+ var group: PGSList
+
+ var caseSensMenuItem = radio_menu_item_new(group, "Case sensitive")
+ extraMenu.append(caseSensMenuItem)
+ discard signal_connect(caseSensMenuItem, "toggled",
+ SIGNAL_FUNC(caseSens_Changed), nil)
+ caseSensMenuItem.show()
+ group = caseSensMenuItem.ItemGetGroup()
+
+ var caseInSensMenuItem = radio_menu_item_new(group, "Case insensitive")
+ extraMenu.append(caseInSensMenuItem)
+ discard signal_connect(caseInSensMenuItem, "toggled",
+ SIGNAL_FUNC(caseInSens_Changed), nil)
+ caseInSensMenuItem.show()
+ group = caseInSensMenuItem.ItemGetGroup()
+
+ var styleMenuItem = radio_menu_item_new(group, "Style insensitive")
+ extraMenu.append(styleMenuItem)
+ discard signal_connect(styleMenuItem, "toggled",
+ SIGNAL_FUNC(style_Changed), nil)
+ styleMenuItem.show()
+ group = styleMenuItem.ItemGetGroup()
+
+ var regexMenuItem = radio_menu_item_new(group, "Regex")
+ extraMenu.append(regexMenuItem)
+ discard signal_connect(regexMenuItem, "toggled",
+ SIGNAL_FUNC(regex_Changed), nil)
+ regexMenuItem.show()
+ group = regexMenuItem.ItemGetGroup()
+
+ var pegMenuItem = radio_menu_item_new(group, "Pegs")
+ extraMenu.append(pegMenuItem)
+ discard signal_connect(pegMenuItem, "toggled",
+ SIGNAL_FUNC(peg_Changed), nil)
+ pegMenuItem.show()
+
+ # Make the correct radio button active
+ case win.settings.search
+ of "casesens":
+ PCheckMenuItem(caseSensMenuItem).ItemSetActive(True)
+ of "caseinsens":
+ PCheckMenuItem(caseInSensMenuItem).ItemSetActive(True)
+ of "style":
+ PCheckMenuItem(styleMenuItem).ItemSetActive(True)
+ of "regex":
+ PCheckMenuItem(regexMenuItem).ItemSetActive(True)
+ of "peg":
+ PCheckMenuItem(pegMenuItem).ItemSetActive(True)
+
+ extraMenu.popup(nil, nil, nil, nil, 0, get_current_event_time())
+
+# GUI Initialization
+
+proc createAccelMenuItem(toolsMenu: PMenu, accGroup: PAccelGroup,
+ label: string, acc: gint,
+ action: proc (i: PMenuItem, p: pgpointer)) =
+ var result = menu_item_new(label)
+ result.addAccelerator("activate", accGroup, acc, 0, ACCEL_VISIBLE)
+ ToolsMenu.append(result)
+ show(result)
+ discard signal_connect(result, "activate", SIGNAL_FUNC(action), nil)
+
+proc createSeparator(menu: PMenu) =
+ var sep = separator_menu_item_new()
+ menu.append(sep)
+ sep.show()
+
+proc initTopMenu(MainBox: PBox) =
+ # Create a accelerator group, used for shortcuts
+ # like CTRL + S in SaveMenuItem
+ var accGroup = accel_group_new()
+ add_accel_group(win.w, accGroup)
+
+ # TopMenu(MenuBar)
+ var TopMenu = menuBarNew()
+
+ # FileMenu
+ var FileMenu = menuNew()
+
+ var NewMenuItem = menu_item_new("New") # New
+ FileMenu.append(NewMenuItem)
+ show(NewMenuItem)
+ discard signal_connect(NewMenuItem, "activate",
+ SIGNAL_FUNC(newFile), nil)
+
+ createSeparator(FileMenu)
+
+ var OpenMenuItem = menu_item_new("Open...") # Open...
+ # CTRL + O
+ OpenMenuItem.add_accelerator("activate", accGroup,
+ KEY_o, CONTROL_MASK, ACCEL_VISIBLE)
+ FileMenu.append(OpenMenuItem)
+ show(OpenMenuItem)
+ discard signal_connect(OpenMenuItem, "activate",
+ SIGNAL_FUNC(aporia.openFile), nil)
+
+ var SaveMenuItem = menu_item_new("Save") # Save
+ # CTRL + S
+ SaveMenuItem.add_accelerator("activate", accGroup,
+ KEY_s, CONTROL_MASK, ACCEL_VISIBLE)
+ FileMenu.append(SaveMenuItem)
+ show(SaveMenuItem)
+ discard signal_connect(SaveMenuItem, "activate",
+ SIGNAL_FUNC(saveFile_activate), nil)
+
+ var SaveAsMenuItem = menu_item_new("Save As...") # Save as...
+
+ SaveAsMenuItem.add_accelerator("activate", accGroup,
+ KEY_s, CONTROL_MASK or gdk2.SHIFT_MASK, ACCEL_VISIBLE)
+ FileMenu.append(SaveAsMenuItem)
+ show(SaveAsMenuItem)
+ discard signal_connect(SaveAsMenuItem, "activate",
+ SIGNAL_FUNC(saveFileAs_Activate), nil)
+
+ var FileMenuItem = menuItemNewWithMnemonic("_File")
+
+ FileMenuItem.setSubMenu(FileMenu)
+ FileMenuItem.show()
+ TopMenu.append(FileMenuItem)
+
+ # Edit menu
+ var EditMenu = menuNew()
+
+ var UndoMenuItem = menu_item_new("Undo") # Undo
+ EditMenu.append(UndoMenuItem)
+ show(UndoMenuItem)
+ discard signal_connect(UndoMenuItem, "activate",
+ SIGNAL_FUNC(aporia.undo), nil)
+
+ var RedoMenuItem = menu_item_new("Redo") # Undo
+ EditMenu.append(RedoMenuItem)
+ show(RedoMenuItem)
+ discard signal_connect(RedoMenuItem, "activate",
+ SIGNAL_FUNC(aporia.redo), nil)
+
+ createSeparator(EditMenu)
+
+ var FindMenuItem = menu_item_new("Find") # Find
+ FindMenuItem.add_accelerator("activate", accGroup,
+ KEY_f, CONTROL_MASK, ACCEL_VISIBLE)
+ EditMenu.append(FindMenuItem)
+ show(FindMenuItem)
+ discard signal_connect(FindMenuItem, "activate",
+ SIGNAL_FUNC(aporia.find_Activate), nil)
+
+ var ReplaceMenuItem = menu_item_new("Replace") # Replace
+ ReplaceMenuItem.add_accelerator("activate", accGroup,
+ KEY_h, CONTROL_MASK, ACCEL_VISIBLE)
+ EditMenu.append(ReplaceMenuItem)
+ show(ReplaceMenuItem)
+ discard signal_connect(ReplaceMenuItem, "activate",
+ SIGNAL_FUNC(aporia.replace_Activate), nil)
+
+ createSeparator(EditMenu)
+
+ var SettingsMenuItem = menu_item_new("Settings...") # Settings
+ EditMenu.append(SettingsMenuItem)
+ show(SettingsMenuItem)
+ discard signal_connect(SettingsMenuItem, "activate",
+ SIGNAL_FUNC(aporia.Settings_Activate), nil)
+
+ var EditMenuItem = menuItemNewWithMnemonic("_Edit")
+
+ EditMenuItem.setSubMenu(EditMenu)
+ EditMenuItem.show()
+ TopMenu.append(EditMenuItem)
+
+ # View menu
+ var ViewMenu = menuNew()
+
+ win.viewBottomPanelMenuItem = check_menu_item_new("Bottom Panel")
+ PCheckMenuItem(win.viewBottomPanelMenuItem).itemSetActive(
+ win.settings.bottomPanelVisible)
+ win.viewBottomPanelMenuItem.add_accelerator("activate", accGroup,
+ KEY_f9, CONTROL_MASK, ACCEL_VISIBLE)
+ ViewMenu.append(win.viewBottomPanelMenuItem)
+ show(win.viewBottomPanelMenuItem)
+ discard signal_connect(win.viewBottomPanelMenuItem, "toggled",
+ SIGNAL_FUNC(aporia.viewBottomPanel_Toggled), nil)
+
+ var ViewMenuItem = menuItemNewWithMnemonic("_View")
+
+ ViewMenuItem.setSubMenu(ViewMenu)
+ ViewMenuItem.show()
+ TopMenu.append(ViewMenuItem)
+
+
+ # Tools menu
+ var ToolsMenu = menuNew()
+
+ createAccelMenuItem(ToolsMenu, accGroup, "Compile current file",
+ KEY_F4, aporia.CompileCurrent_Activate)
+ createAccelMenuItem(ToolsMenu, accGroup, "Compile & run current file",
+ KEY_F5, aporia.CompileRunCurrent_Activate)
+ createSeparator(ToolsMenu)
+ createAccelMenuItem(ToolsMenu, accGroup, "Compile project",
+ KEY_F8, aporia.CompileProject_Activate)
+ createAccelMenuItem(ToolsMenu, accGroup, "Compile & run project",
+ KEY_F9, aporia.CompileRunProject_Activate)
+ createSeparator(ToolsMenu)
+ createAccelMenuItem(ToolsMenu, accGroup, "Run custom command 1",
+ KEY_F1, aporia.RunCustomCommand1)
+ createAccelMenuItem(ToolsMenu, accGroup, "Run custom command 2",
+ KEY_F2, aporia.RunCustomCommand2)
+ createAccelMenuItem(ToolsMenu, accGroup, "Run custom command 3",
+ KEY_F3, aporia.RunCustomCommand3)
+
+ var ToolsMenuItem = menuItemNewWithMnemonic("_Tools")
+
+ ToolsMenuItem.setSubMenu(ToolsMenu)
+ ToolsMenuItem.show()
+ TopMenu.append(ToolsMenuItem)
+
+ # Help menu
+ MainBox.packStart(TopMenu, False, False, 0)
+ TopMenu.show()
+
+proc initToolBar(MainBox: PBox) =
+ # TopBar(ToolBar)
+ var TopBar = toolbarNew()
+ TopBar.setStyle(TOOLBAR_ICONS)
+
+ var NewFileItem = TopBar.insertStock(STOCK_NEW, "New File",
+ "New File", SIGNAL_FUNC(aporia.newFile), nil, 0)
+ TopBar.appendSpace()
+ var OpenItem = TopBar.insertStock(STOCK_OPEN, "Open",
+ "Open", SIGNAL_FUNC(aporia.openFile), nil, -1)
+ var SaveItem = TopBar.insertStock(STOCK_SAVE, "Save",
+ "Save", SIGNAL_FUNC(saveFile_Activate), nil, -1)
+ TopBar.appendSpace()
+ var UndoItem = TopBar.insertStock(STOCK_UNDO, "Undo",
+ "Undo", SIGNAL_FUNC(aporia.undo), nil, -1)
+ var RedoItem = TopBar.insertStock(STOCK_REDO, "Redo",
+ "Redo", SIGNAL_FUNC(aporia.redo), nil, -1)
+
+ MainBox.packStart(TopBar, False, False, 0)
+ TopBar.show()
+
+proc initSourceViewTabs() =
+ win.SourceViewTabs = notebookNew()
+ #win.sourceViewTabs.dragDestSet(DEST_DEFAULT_DROP, nil, 0, ACTION_MOVE)
+ discard win.SourceViewTabs.signalConnect(
+ "switch-page", SIGNAL_FUNC(onSwitchTab), nil)
+ #discard win.SourceViewTabs.signalConnect(
+ # "drag-drop", SIGNAL_FUNC(svTabs_DragDrop), nil)
+ #discard win.SourceViewTabs.signalConnect(
+ # "drag-data-received", SIGNAL_FUNC(svTabs_DragDataRecv), nil)
+ #discard win.SourceViewTabs.signalConnect(
+ # "drag-motion", SIGNAL_FUNC(svTabs_DragMotion), nil)
+ win.SourceViewTabs.set_scrollable(True)
+
+ win.SourceViewTabs.show()
+ if lastSession.len != 0:
+ for i in 0 .. len(lastSession)-1:
+ var splitUp = lastSession[i].split('|')
+ var (filename, offset) = (splitUp[0], splitUp[1])
+ addTab("", filename)
+
+ var iter: TTextIter
+ win.Tabs[i].buffer.getIterAtOffset(addr(iter), offset.parseInt())
+ win.Tabs[i].buffer.moveMarkByName("insert", addr(iter))
+ win.Tabs[i].buffer.moveMarkByName("selection_bound", addr(iter))
+
+ # TODO: Fix this..... :(
+ discard PTextView(win.Tabs[i].sourceView).
+ scrollToIter(addr(iter), 0.25, true, 0.0, 0.0)
+ else:
+ addTab("", "")
+
+ # This doesn't work :\
+ win.Tabs[0].sourceView.grabFocus()
+
+
+proc initBottomTabs() =
+ win.bottomPanelTabs = notebookNew()
+ if win.settings.bottomPanelVisible:
+ win.bottomPanelTabs.show()
+
+ # output tab
+ var tabLabel = labelNew("Output")
+ var outputTab = vboxNew(False, 0)
+ discard win.bottomPanelTabs.appendPage(outputTab, tabLabel)
+ # Compiler tabs, gtktextview
+ var outputScrolledWindow = scrolledwindowNew(nil, nil)
+ outputScrolledWindow.setPolicy(POLICY_AUTOMATIC, POLICY_AUTOMATIC)
+ outputTab.packStart(outputScrolledWindow, true, true, 0)
+ outputScrolledWindow.show()
+
+ win.outputTextView = textviewNew()
+ outputScrolledWindow.add(win.outputTextView)
+ win.outputTextView.show()
+
+ outputTab.show()
+
+proc initTAndBP(MainBox: PBox) =
+ # This init's the HPaned, which splits the sourceViewTabs
+ # and the BottomPanelTabs
+ initSourceViewTabs()
+ initBottomTabs()
+
+ var TAndBPVPaned = vpanedNew()
+ tandbpVPaned.pack1(win.sourceViewTabs, resize=True, shrink=False)
+ tandbpVPaned.pack2(win.bottomPanelTabs, resize=False, shrink=False)
+ MainBox.packStart(TAndBPVPaned, True, True, 0)
+ tandbpVPaned.setPosition(win.settings.VPanedPos)
+ TAndBPVPaned.show()
+
+proc initFindBar(MainBox: PBox) =
+ # Create a fixed container
+ win.findBar = HBoxNew(False, 0)
+ win.findBar.setSpacing(4)
+
+ # Add a Label 'Find'
+ var findLabel = labelNew("Find:")
+ win.findBar.packStart(findLabel, False, False, 0)
+ findLabel.show()
+
+ # Add a (find) text entry
+ win.findEntry = entryNew()
+ win.findBar.packStart(win.findEntry, False, False, 0)
+ discard win.findEntry.signalConnect("activate", SIGNAL_FUNC(
+ aporia.nextBtn_Clicked), nil)
+ win.findEntry.show()
+ var rq: TRequisition
+ win.findEntry.sizeRequest(addr(rq))
+
+ # Make the (find) text entry longer
+ win.findEntry.set_size_request(190, rq.height)
+
+ # Add a Label 'Replace'
+ # - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown
+ win.replaceLabel = labelNew("Replace:")
+ win.findBar.packStart(win.replaceLabel, False, False, 0)
+ #replaceLabel.show()
+
+ # Add a (replace) text entry
+ # - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown
+ win.replaceEntry = entryNew()
+ win.findBar.packStart(win.replaceEntry, False, False, 0)
+ #win.replaceEntry.show()
+ var rq1: TRequisition
+ win.replaceEntry.sizeRequest(addr(rq1))
+
+ # Make the (replace) text entry longer
+ win.replaceEntry.set_size_request(100, rq1.height)
+
+ # Find next button
+ var nextBtn = buttonNew("Next")
+ win.findBar.packStart(nextBtn, false, false, 0)
+ discard nextBtn.signalConnect("clicked",
+ SIGNAL_FUNC(aporia.nextBtn_Clicked), nil)
+ nextBtn.show()
+ var nxtBtnRq: TRequisition
+ nextBtn.sizeRequest(addr(nxtBtnRq))
+
+ # Find previous button
+ var prevBtn = buttonNew("Previous")
+ win.findBar.packStart(prevBtn, false, false, 0)
+ discard prevBtn.signalConnect("clicked",
+ SIGNAL_FUNC(aporia.prevBtn_Clicked), nil)
+ prevBtn.show()
+
+ # Replace button
+ # - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown
+ win.replaceBtn = buttonNew("Replace")
+ win.findBar.packStart(win.replaceBtn, false, false, 0)
+ discard win.replaceBtn.signalConnect("clicked",
+ SIGNAL_FUNC(aporia.replaceBtn_Clicked), nil)
+ #replaceBtn.show()
+
+ # Replace all button
+ # - this Is only shown, when the 'Search & Replace'(CTRL + H) is shown
+ win.replaceAllBtn = buttonNew("Replace All")
+ win.findBar.packStart(win.replaceAllBtn, false, false, 0)
+ discard win.replaceAllBtn.signalConnect("clicked",
+ SIGNAL_FUNC(aporia.replaceAllBtn_Clicked), nil)
+ #replaceAllBtn.show()
+
+ # Right side ...
+
+ # Close button - With a close stock image
+ var closeBtn = buttonNew()
+ var closeImage = imageNewFromStock(STOCK_CLOSE, ICON_SIZE_SMALL_TOOLBAR)
+ var closeBox = hboxNew(False, 0)
+ closeBtn.add(closeBox)
+ closeBox.show()
+ closeBox.add(closeImage)
+ closeImage.show()
+ discard closeBtn.signalConnect("clicked",
+ SIGNAL_FUNC(aporia.closeBtn_Clicked), nil)
+ win.findBar.packEnd(closeBtn, False, False, 2)
+ closeBtn.show()
+
+ # Extra button - When clicked shows a menu with options like 'Use regex'
+ var extraBtn = buttonNew()
+ var extraImage = imageNewFromStock(STOCK_PROPERTIES, ICON_SIZE_SMALL_TOOLBAR)
+
+ var extraBox = hboxNew(False, 0)
+ extraBtn.add(extraBox)
+ extraBox.show()
+ extraBox.add(extraImage)
+ extraImage.show()
+ discard extraBtn.signalConnect("clicked",
+ SIGNAL_FUNC(aporia.extraBtn_Clicked), nil)
+ win.findBar.packEnd(extraBtn, False, False, 0)
+ extraBtn.show()
+
+ MainBox.packStart(win.findBar, False, False, 0)
+ win.findBar.show()
+
+proc initStatusBar(MainBox: PBox) =
+ win.bottomBar = statusbarNew()
+ MainBox.packStart(win.bottomBar, False, False, 0)
+ win.bottomBar.show()
+
+ discard win.bottomBar.push(0, "Line: 0 Column: 0")
+
+proc initControls() =
+ # Load up the language style
+ win.langMan = languageManagerGetDefault()
+ var langpaths: array[0..1, cstring] =
+ [cstring(os.getApplicationDir() / langSpecs), nil]
+ win.langMan.setSearchPath(addr(langpaths))
+ var nimLang = win.langMan.getLanguage("nimrod")
+ win.nimLang = nimLang
+
+ # Load the scheme
+ var schemeMan = schemeManagerGetDefault()
+ var schemepaths: array[0..1, cstring] =
+ [cstring(os.getApplicationDir() / styles), nil]
+ schemeMan.setSearchPath(addr(schemepaths))
+ win.scheme = schemeMan.getScheme(win.settings.colorSchemeID)
+
+ # Window
+ win.w = windowNew(gtk2.WINDOW_TOPLEVEL)
+ win.w.setDefaultSize(win.settings.winWidth, win.settings.winHeight)
+ win.w.setTitle("Aporia IDE")
+ if win.settings.winMaximized: win.w.maximize()
+
+ win.w.show() # The window has to be shown before
+ # setting the position of the VPaned so that
+ # it gets set correctly, when the window is maximized.
+
+ discard win.w.signalConnect("destroy", SIGNAL_FUNC(aporia.destroy), nil)
+ discard win.w.signalConnect("delete_event",
+ SIGNAL_FUNC(aporia.delete_event), nil)
+ discard win.w.signalConnect("window-state-event",
+ SIGNAL_FUNC(aporia.windowState_Changed), nil)
+
+ # MainBox (vbox)
+ var MainBox = vboxNew(False, 0)
+ win.w.add(MainBox)
+
+ initTopMenu(MainBox)
+ initToolBar(MainBox)
+ initTAndBP(MainBox)
+ initFindBar(MainBox)
+ initStatusBar(MainBox)
+
+ MainBox.show()
+ if confParseFail:
+ dialogs.warning(win.w, "Error parsing config file, using default settings.")
+
+nimrod_init()
+initControls()
+main()
+
+
+---tokens---
+'import' Keyword.Namespace
+' ' Text
+'glib2' Name
+',' Punctuation
+' ' Text
+'gtk2' Name
+',' Punctuation
+' ' Text
+'gdk2' Name
+',' Punctuation
+' ' Text
+'gtksourceview' Name
+',' Punctuation
+' ' Text
+'dialogs' Name
+',' Punctuation
+' ' Text
+'os' Name
+',' Punctuation
+' ' Text
+'pango' Name
+',' Punctuation
+' ' Text
+'osproc' Name
+',' Punctuation
+' ' Text
+'strutils' Name
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'pegs' Name
+',' Punctuation
+' ' Text
+'streams' Name
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'settings' Name
+',' Punctuation
+' ' Text
+'types' Name
+',' Punctuation
+' ' Text
+'cfg' Name
+',' Punctuation
+' ' Text
+'search' Name
+'\n\n' Text
+
+'{.' Punctuation
+'push' Name
+' ' Text
+'callConv' Name
+':' Punctuation
+'cdecl' Name
+'.' Punctuation
+'}' Punctuation
+'\n\n' Text
+
+'const' Keyword
+'\n ' Text
+'NimrodProjectExt' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'.nimprj' Literal.String
+'"' Literal.String
+'\n\n' Text
+
+'var' Keyword.Declaration
+' ' Text
+'win' Name
+':' Punctuation
+' ' Text
+'types' Name
+'.' Punctuation
+'MainWin' Name
+'\n' Text
+
+'win' Name
+'.' Punctuation
+'Tabs' Name
+' ' Text
+'=' Operator
+' ' Text
+'@' Operator
+'[' Operator
+']' Operator
+'\n\n' Text
+
+'search' Name
+'.' Punctuation
+'win' Name
+' ' Text
+'=' Operator
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'win' Name
+')' Punctuation
+'\n\n' Text
+
+'var' Keyword.Declaration
+' ' Text
+'lastSession' Name
+':' Punctuation
+' ' Text
+'seq' Keyword.Type
+'[' Operator
+'string' Keyword.Type
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'@' Operator
+'[' Operator
+']' Operator
+'\n\n' Text
+
+'var' Keyword.Declaration
+' ' Text
+'confParseFail' Name
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword.Pseudo
+' ' Text
+'# This gets set to true' Comment
+'\n ' Text
+'# When there is an error parsing the config' Comment
+'\n\n' Text
+
+'# Load the settings' Comment
+'\n' Text
+
+'try' Keyword
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+' ' Text
+'=' Operator
+' ' Text
+'cfg' Name
+'.' Punctuation
+'load' Name
+'(' Punctuation
+'lastSession' Name
+')' Punctuation
+'\n' Text
+
+'except' Keyword
+' ' Text
+'ECFGParse' Name
+':' Punctuation
+'\n ' Text
+'# TODO: Make the dialog show the exception' Comment
+'\n ' Text
+'confParseFail' Name
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword.Pseudo
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+' ' Text
+'=' Operator
+' ' Text
+'cfg' Name
+'.' Punctuation
+'defaultSettings' Name
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+'except' Keyword
+' ' Text
+'EIO' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+' ' Text
+'=' Operator
+' ' Text
+'cfg' Name
+'.' Punctuation
+'defaultSettings' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'getProjectTab' Name.Function
+'(' Punctuation
+')' Punctuation
+':' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'=' Operator
+' \n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'0' Literal.Number.Float
+'..' Punctuation
+'high' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'tabs' Name
+')' Punctuation
+':' Punctuation
+' \n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+'.' Punctuation
+'endswith' Name
+'(' Punctuation
+'NimrodProjectExt' Name
+')' Punctuation
+':' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'i' Name
+'\n\n' Text
+
+'proc ' Keyword
+'saveTab' Name.Function
+'(' Punctuation
+'tabNr' Name
+':' Punctuation
+' ' Text
+'int' Keyword.Type
+',' Punctuation
+' ' Text
+'startpath' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'tabNr' Name
+' ' Text
+'<' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+' ' Text
+'return' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+':' Punctuation
+' ' Text
+'return' Keyword
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'path' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'path' Name
+' ' Text
+'=' Operator
+' ' Text
+'ChooseFileToSave' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'startpath' Name
+')' Punctuation
+' \n ' Text
+'# dialogs.nim STOCK_OPEN instead of STOCK_SAVE' Comment
+'\n ' Text
+'else' Keyword
+':' Punctuation
+' \n ' Text
+'path' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+'\n \n ' Text
+'if' Keyword
+' ' Text
+'path' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'buffer' Name
+' ' Text
+'=' Operator
+' ' Text
+'PTextBuffer' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+')' Punctuation
+'\n ' Text
+'# Get the text from the TextView' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'startIter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'getStartIter' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'startIter' Name
+')' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'endIter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'getEndIter' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'endIter' Name
+')' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'text' Name
+' ' Text
+'=' Operator
+' ' Text
+'buffer' Name
+'.' Punctuation
+'getText' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'startIter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'endIter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'# Save it to a file' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'f' Name
+':' Punctuation
+' ' Text
+'TFile' Name
+'\n ' Text
+'if' Keyword
+' ' Text
+'open' Name
+'(' Punctuation
+'f' Name
+',' Punctuation
+' ' Text
+'path' Name
+',' Punctuation
+' ' Text
+'fmWrite' Name
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'f' Name
+'.' Punctuation
+'write' Name
+'(' Punctuation
+'text' Name
+')' Punctuation
+'\n ' Text
+'f' Name
+'.' Punctuation
+'close' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'win' Name
+'.' Punctuation
+'tempStuff' Name
+'.' Punctuation
+'lastSaveDir' Name
+' ' Text
+'=' Operator
+' ' Text
+'splitFile' Name
+'(' Punctuation
+'path' Name
+')' Punctuation
+'.' Punctuation
+'dir' Name
+'\n \n ' Text
+'# Change the tab name and .Tabs.filename etc.' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+' ' Text
+'path' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword.Pseudo
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'name' Name
+' ' Text
+'=' Operator
+' ' Text
+'extractFilename' Name
+'(' Punctuation
+'path' Name
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'cTab' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'tabNr' Name
+']' Operator
+'\n ' Text
+'cTab' Name
+'.' Punctuation
+'label' Name
+'.' Punctuation
+'setText' Name
+'(' Punctuation
+'name' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'error' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Unable to write to file' Literal.String
+'"' Literal.String
+')' Punctuation
+' \n\n' Text
+
+'proc ' Keyword
+'saveAllTabs' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'0' Literal.Number.Float
+'..' Punctuation
+'high' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'tabs' Name
+')' Punctuation
+':' Punctuation
+' \n ' Text
+'saveTab' Name
+'(' Punctuation
+'i' Name
+',' Punctuation
+' ' Text
+'os' Name
+'.' Punctuation
+'splitFile' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+'.' Punctuation
+'dir' Name
+')' Punctuation
+'\n\n' Text
+
+'# GTK Events' Comment
+'\n' Text
+
+'# -- w(PWindow)' Comment
+'\n' Text
+
+'proc ' Keyword
+'destroy' Name.Function
+'(' Punctuation
+'widget' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+',' Punctuation
+' ' Text
+'data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'{.' Punctuation
+'cdecl' Name
+'.' Punctuation
+'}' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# gather some settings' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'VPanedPos' Name
+' ' Text
+'=' Operator
+' ' Text
+'PPaned' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+'.' Punctuation
+'getParent' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'.' Punctuation
+'getPosition' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'winWidth' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'allocation' Name
+'.' Punctuation
+'width' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'winHeight' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'allocation' Name
+'.' Punctuation
+'height' Name
+'\n\n ' Text
+'# save the settings' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'save' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'# then quit' Comment
+'\n ' Text
+'main_quit' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'delete_event' Name.Function
+'(' Punctuation
+'widget' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+',' Punctuation
+' ' Text
+'event' Name
+':' Punctuation
+' ' Text
+'PEvent' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+':' Punctuation
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'quit' Name
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword.Pseudo
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'low' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+')' Punctuation
+'..' Punctuation
+'len' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+')' Punctuation
+'-' Operator
+'1' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Operator.Word
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'askSave' Name
+' ' Text
+'=' Operator
+' ' Text
+'dialogNewWithButtons' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+',' Punctuation
+'\n ' Text
+'STOCK_SAVE' Name
+',' Punctuation
+' ' Text
+'RESPONSE_ACCEPT' Name
+',' Punctuation
+' ' Text
+'STOCK_CANCEL' Name
+',' Punctuation
+' \n ' Text
+'RESPONSE_CANCEL' Name
+',' Punctuation
+'\n ' Text
+'"' Literal.String
+'Close without saving' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'RESPONSE_REJECT' Name
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'askSave' Name
+'.' Punctuation
+'setTransientFor' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+')' Punctuation
+'\n ' Text
+'# TODO: Make this dialog look better' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'label' Name
+' ' Text
+'=' Operator
+' ' Text
+'labelNew' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'&' Operator
+' \n ' Text
+'"' Literal.String
+' is unsaved, would you like to save it ?' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'PBox' Name
+'(' Punctuation
+'askSave' Name
+'.' Punctuation
+'vbox' Name
+')' Punctuation
+'.' Punctuation
+'pack_start' Name
+'(' Punctuation
+'label' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'label' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'resp' Name
+' ' Text
+'=' Operator
+' ' Text
+'askSave' Name
+'.' Punctuation
+'run' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'gtk2' Name
+'.' Punctuation
+'destroy' Name
+'(' Punctuation
+'PWidget' Name
+'(' Punctuation
+'askSave' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'case' Keyword
+' ' Text
+'resp' Name
+'\n ' Text
+'of' Keyword
+' ' Text
+'RESPONSE_ACCEPT' Name
+':' Punctuation
+'\n ' Text
+'saveTab' Name
+'(' Punctuation
+'i' Name
+',' Punctuation
+' ' Text
+'os' Name
+'.' Punctuation
+'splitFile' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+'.' Punctuation
+'dir' Name
+')' Punctuation
+'\n ' Text
+'quit' Name
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword.Pseudo
+'\n ' Text
+'of' Keyword
+' ' Text
+'RESPONSE_CANCEL' Name
+':' Punctuation
+'\n ' Text
+'quit' Name
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword.Pseudo
+'\n ' Text
+'break' Keyword
+'\n ' Text
+'of' Keyword
+' ' Text
+'RESPONSE_REJECT' Name
+':' Punctuation
+'\n ' Text
+'quit' Name
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword.Pseudo
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'quit' Name
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword.Pseudo
+'\n ' Text
+'break' Keyword
+'\n\n ' Text
+'# If False is returned the window will close' Comment
+'\n ' Text
+'return' Keyword
+' ' Text
+'not' Operator.Word
+' ' Text
+'quit' Name
+'\n\n' Text
+
+'proc ' Keyword
+'windowState_Changed' Name.Function
+'(' Punctuation
+'widget' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+',' Punctuation
+' ' Text
+'event' Name
+':' Punctuation
+' ' Text
+'PEventWindowState' Name
+',' Punctuation
+' \n ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'winMaximized' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'event' Name
+'.' Punctuation
+'newWindowState' Name
+' ' Text
+'and' Operator.Word
+' \n ' Text
+'WINDOW_STATE_MAXIMIZED' Name
+')' Punctuation
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+'\n\n' Text
+
+'# -- SourceView(PSourceView) & SourceBuffer' Comment
+'\n' Text
+
+'proc ' Keyword
+'updateStatusBar' Name.Function
+'(' Punctuation
+'buffer' Name
+':' Punctuation
+' ' Text
+'PTextBuffer' Name
+')' Punctuation
+'{.' Punctuation
+'cdecl' Name
+'.' Punctuation
+'}' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# Incase this event gets fired before' Comment
+'\n ' Text
+'# bottomBar is initialized' Comment
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+' ' Text
+'and' Operator.Word
+' ' Text
+'not' Operator.Word
+' ' Text
+'win' Name
+'.' Punctuation
+'tempStuff' Name
+'.' Punctuation
+'stopSBUpdates' Name
+':' Punctuation
+' \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'iter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n \n ' Text
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+'.' Punctuation
+'pop' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'getIterAtMark' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'buffer' Name
+'.' Punctuation
+'getInsert' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'row' Name
+' ' Text
+'=' Operator
+' ' Text
+'getLine' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'col' Name
+' ' Text
+'=' Operator
+' ' Text
+'getLineOffset' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+'.' Punctuation
+'push' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Line: ' Literal.String
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'$' Operator
+'row' Name
+' ' Text
+'&' Operator
+' ' Text
+'"' Literal.String
+' Column: ' Literal.String
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'$' Operator
+'col' Name
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'cursorMoved' Name.Function
+'(' Punctuation
+'buffer' Name
+':' Punctuation
+' ' Text
+'PTextBuffer' Name
+',' Punctuation
+' ' Text
+'location' Name
+':' Punctuation
+' ' Text
+'PTextIter' Name
+',' Punctuation
+' \n ' Text
+'mark' Name
+':' Punctuation
+' ' Text
+'PTextMark' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+'{.' Punctuation
+'cdecl' Name
+'.' Punctuation
+'}' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'updateStatusBar' Name
+'(' Punctuation
+'buffer' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'onCloseTab' Name.Function
+'(' Punctuation
+'btn' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+'.' Punctuation
+'getNPages' Name
+'(' Punctuation
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'1' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'tab' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+'.' Punctuation
+'pageNum' Name
+'(' Punctuation
+'user_data' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+'.' Punctuation
+'removePage' Name
+'(' Punctuation
+'tab' Name
+')' Punctuation
+'\n\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'.' Punctuation
+'delete' Name
+'(' Punctuation
+'tab' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'onSwitchTab' Name.Function
+'(' Punctuation
+'notebook' Name
+':' Punctuation
+' ' Text
+'PNotebook' Name
+',' Punctuation
+' ' Text
+'page' Name
+':' Punctuation
+' ' Text
+'PNotebookPage' Name
+',' Punctuation
+' ' Text
+'pageNum' Name
+':' Punctuation
+' ' Text
+'guint' Name
+',' Punctuation
+' \n ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'.' Punctuation
+'len' Name
+'(' Punctuation
+')' Punctuation
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'pageNum' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'setTitle' Name
+'(' Punctuation
+'"' Literal.String
+'Aporia IDE - ' Literal.String
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'pageNum' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'createTabLabel' Name.Function
+'(' Punctuation
+'name' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+',' Punctuation
+' ' Text
+'t_child' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+')' Punctuation
+':' Punctuation
+' ' Text
+'tuple' Keyword
+'[' Operator
+'box' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+',' Punctuation
+'\n ' Text
+'label' Name
+':' Punctuation
+' ' Text
+'PLabel' Name
+']' Operator
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'box' Name
+' ' Text
+'=' Operator
+' ' Text
+'hboxNew' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'label' Name
+' ' Text
+'=' Operator
+' ' Text
+'labelNew' Name
+'(' Punctuation
+'name' Name
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'closebtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'closeBtn' Name
+'.' Punctuation
+'setLabel' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'iconSize' Name
+' ' Text
+'=' Operator
+' ' Text
+'iconSizeFromName' Name
+'(' Punctuation
+'"' Literal.String
+'tabIconSize' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'iconSize' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'iconSize' Name
+' ' Text
+'=' Operator
+' ' Text
+'iconSizeRegister' Name
+'(' Punctuation
+'"' Literal.String
+'tabIconSize' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'image' Name
+' ' Text
+'=' Operator
+' ' Text
+'imageNewFromStock' Name
+'(' Punctuation
+'STOCK_CLOSE' Name
+',' Punctuation
+' ' Text
+'iconSize' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'gSignalConnect' Name
+'(' Punctuation
+'closebtn' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'G_Callback' Name
+'(' Punctuation
+'onCloseTab' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'t_child' Name
+')' Punctuation
+'\n ' Text
+'closebtn' Name
+'.' Punctuation
+'setImage' Name
+'(' Punctuation
+'image' Name
+')' Punctuation
+'\n ' Text
+'gtk2' Name
+'.' Punctuation
+'setRelief' Name
+'(' Punctuation
+'closebtn' Name
+',' Punctuation
+' ' Text
+'RELIEF_NONE' Name
+')' Punctuation
+'\n ' Text
+'box' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'label' Name
+',' Punctuation
+' ' Text
+'True' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'True' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'box' Name
+'.' Punctuation
+'packEnd' Name
+'(' Punctuation
+'closebtn' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'box' Name
+'.' Punctuation
+'showAll' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'return' Keyword
+' ' Text
+'(' Punctuation
+'box' Name
+',' Punctuation
+' ' Text
+'label' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'changed' Name.Function
+'(' Punctuation
+'buffer' Name
+':' Punctuation
+' ' Text
+'PTextBuffer' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+"# Update the 'Line & Column'" Comment
+'\n ' Text
+'#updateStatusBar(buffer)' Comment
+'\n\n ' Text
+"# Change the tabs state to 'unsaved'" Comment
+'\n ' Text
+"# and add '*' to the Tab Name" Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'current' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'name' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword.Pseudo
+'\n ' Text
+'name' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'Untitled *' Literal.String
+'"' Literal.String
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword.Pseudo
+'\n ' Text
+'name' Name
+' ' Text
+'=' Operator
+' ' Text
+'extractFilename' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+' ' Text
+'&' Operator
+' ' Text
+'"' Literal.String
+' *' Literal.String
+'"' Literal.String
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'cTab' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'\n ' Text
+'cTab' Name
+'.' Punctuation
+'label' Name
+'.' Punctuation
+'setText' Name
+'(' Punctuation
+'name' Name
+')' Punctuation
+'\n\n' Text
+
+'# Other(Helper) functions' Comment
+'\n\n' Text
+
+'proc ' Keyword
+'initSourceView' Name.Function
+'(' Punctuation
+'SourceView' Name
+':' Punctuation
+' ' Text
+'var' Keyword.Declaration
+' ' Text
+'PWidget' Name
+',' Punctuation
+' ' Text
+'scrollWindow' Name
+':' Punctuation
+' ' Text
+'var' Keyword.Declaration
+' ' Text
+'PScrolledWindow' Name
+',' Punctuation
+'\n ' Text
+'buffer' Name
+':' Punctuation
+' ' Text
+'var' Keyword.Declaration
+' ' Text
+'PSourceBuffer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# This gets called by addTab' Comment
+'\n ' Text
+'# Each tabs creates a new SourceView' Comment
+'\n ' Text
+'# SourceScrolledWindow(ScrolledWindow)' Comment
+'\n ' Text
+'scrollWindow' Name
+' ' Text
+'=' Operator
+' ' Text
+'scrolledWindowNew' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'scrollWindow' Name
+'.' Punctuation
+'setPolicy' Name
+'(' Punctuation
+'POLICY_AUTOMATIC' Name
+',' Punctuation
+' ' Text
+'POLICY_AUTOMATIC' Name
+')' Punctuation
+'\n ' Text
+'scrollWindow' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# SourceView(gtkSourceView)' Comment
+'\n ' Text
+'SourceView' Name
+' ' Text
+'=' Operator
+' ' Text
+'sourceViewNew' Name
+'(' Punctuation
+'buffer' Name
+')' Punctuation
+'\n ' Text
+'PSourceView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setInsertSpacesInsteadOfTabs' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'PSourceView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setIndentWidth' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'indentWidth' Name
+')' Punctuation
+'\n ' Text
+'PSourceView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setShowLineNumbers' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'showLineNumbers' Name
+')' Punctuation
+'\n ' Text
+'PSourceView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setHighlightCurrentLine' Name
+'(' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'highlightCurrentLine' Name
+')' Punctuation
+'\n ' Text
+'PSourceView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setShowRightMargin' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'rightMargin' Name
+')' Punctuation
+'\n ' Text
+'PSourceView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setAutoIndent' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'autoIndent' Name
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'font' Name
+' ' Text
+'=' Operator
+' ' Text
+'font_description_from_string' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'font' Name
+')' Punctuation
+'\n ' Text
+'SourceView' Name
+'.' Punctuation
+'modifyFont' Name
+'(' Punctuation
+'font' Name
+')' Punctuation
+'\n \n ' Text
+'scrollWindow' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'\n ' Text
+'SourceView' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'buffer' Name
+'.' Punctuation
+'setHighlightMatchingBrackets' Name
+'(' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'highlightMatchingBrackets' Name
+')' Punctuation
+'\n \n ' Text
+'# UGLY workaround for yet another compiler bug:' Comment
+'\n ' Text
+'discard' Keyword
+' ' Text
+'gsignalConnect' Name
+'(' Punctuation
+'buffer' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'mark-set' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'GCallback' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'cursorMoved' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'gsignalConnect' Name
+'(' Punctuation
+'buffer' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'changed' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'GCallback' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'# -- Set the syntax highlighter scheme' Comment
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'setScheme' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'scheme' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'addTab' Name.Function
+'(' Punctuation
+'name' Name
+',' Punctuation
+' ' Text
+'filename' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'## Adds a tab, if filename is not "" reads the file. And sets' Literal.String.Doc
+'\n ' Text
+'## the tabs SourceViews text to that files contents.' Literal.String.Doc
+'\n ' Text
+'assert' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'nimLang' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'buffer' Name
+':' Punctuation
+' ' Text
+'PSourceBuffer' Name
+' ' Text
+'=' Operator
+' ' Text
+'sourceBufferNew' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'nimLang' Name
+')' Punctuation
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'filename' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+' ' Text
+'and' Operator.Word
+' ' Text
+'filename' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'lang' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'langMan' Name
+'.' Punctuation
+'guessLanguage' Name
+'(' Punctuation
+'filename' Name
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'lang' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+':' Punctuation
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'setLanguage' Name
+'(' Punctuation
+'lang' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'setHighlightSyntax' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'nam' Name
+' ' Text
+'=' Operator
+' ' Text
+'name' Name
+'\n ' Text
+'if' Keyword
+' ' Text
+'nam' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+' ' Text
+'nam' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'Untitled' Literal.String
+'"' Literal.String
+'\n ' Text
+'if' Keyword
+' ' Text
+'filename' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+' ' Text
+'nam' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'"' Literal.String
+' *' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'elif' Keyword
+' ' Text
+'filename' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+' ' Text
+'and' Operator.Word
+' ' Text
+'name' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'# Disable the undo/redo manager.' Comment
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'begin_not_undoable_action' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# Load the file.' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'file' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'readFile' Name
+'(' Punctuation
+'filename' Name
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'file' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+':' Punctuation
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'set_text' Name
+'(' Punctuation
+'file' Name
+',' Punctuation
+' ' Text
+'len' Name
+'(' Punctuation
+'file' Name
+')' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# Enable the undo/redo manager.' Comment
+'\n ' Text
+'buffer' Name
+'.' Punctuation
+'end_not_undoable_action' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# Get the name.ext of the filename, for the tabs title' Comment
+'\n ' Text
+'nam' Name
+' ' Text
+'=' Operator
+' ' Text
+'extractFilename' Name
+'(' Punctuation
+'filename' Name
+')' Punctuation
+'\n \n ' Text
+'# Init the sourceview' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'sourceView' Name
+':' Punctuation
+' ' Text
+'PWidget' Name
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'scrollWindow' Name
+':' Punctuation
+' ' Text
+'PScrolledWindow' Name
+'\n ' Text
+'initSourceView' Name
+'(' Punctuation
+'sourceView' Name
+',' Punctuation
+' ' Text
+'scrollWindow' Name
+',' Punctuation
+' ' Text
+'buffer' Name
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'(' Punctuation
+'TabLabel' Name
+',' Punctuation
+' ' Text
+'labelText' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'createTabLabel' Name
+'(' Punctuation
+'nam' Name
+',' Punctuation
+' ' Text
+'scrollWindow' Name
+')' Punctuation
+'\n ' Text
+'# Add a tab' Comment
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'appendPage' Name
+'(' Punctuation
+'scrollWindow' Name
+',' Punctuation
+' ' Text
+'TabLabel' Name
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'nTab' Name
+':' Punctuation
+' ' Text
+'Tab' Name
+'\n ' Text
+'nTab' Name
+'.' Punctuation
+'buffer' Name
+' ' Text
+'=' Operator
+' ' Text
+'buffer' Name
+'\n ' Text
+'nTab' Name
+'.' Punctuation
+'sourceView' Name
+' ' Text
+'=' Operator
+' ' Text
+'sourceView' Name
+'\n ' Text
+'nTab' Name
+'.' Punctuation
+'label' Name
+' ' Text
+'=' Operator
+' ' Text
+'labelText' Name
+'\n ' Text
+'nTab' Name
+'.' Punctuation
+'saved' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'filename' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'nTab' Name
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+' ' Text
+'filename' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'nTab' Name
+')' Punctuation
+'\n\n ' Text
+'PTextView' Name
+'(' Punctuation
+'SourceView' Name
+')' Punctuation
+'.' Punctuation
+'setBuffer' Name
+'(' Punctuation
+'nTab' Name
+'.' Punctuation
+'buffer' Name
+')' Punctuation
+'\n\n' Text
+
+'# GTK Events Contd.' Comment
+'\n' Text
+
+'# -- TopMenu & TopBar' Comment
+'\n\n' Text
+
+'proc ' Keyword
+'newFile' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'addTab' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+'.' Punctuation
+'setCurrentPage' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'.' Punctuation
+'len' Name
+'(' Punctuation
+')' Punctuation
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'openFile' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'startpath' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'currPage' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'currPage' Name
+' ' Text
+'<' Operator
+'%' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'tabs' Name
+'.' Punctuation
+'len' Name
+':' Punctuation
+' \n ' Text
+'startpath' Name
+' ' Text
+'=' Operator
+' ' Text
+'os' Name
+'.' Punctuation
+'splitFile' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'tabs' Name
+'[' Operator
+'currPage' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+'.' Punctuation
+'dir' Name
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'startpath' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'# Use lastSavePath as the startpath' Comment
+'\n ' Text
+'startpath' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'tempStuff' Name
+'.' Punctuation
+'lastSaveDir' Name
+'\n ' Text
+'if' Keyword
+' ' Text
+'startpath' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'startpath' Name
+' ' Text
+'=' Operator
+' ' Text
+'os' Name
+'.' Punctuation
+'getHomeDir' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'files' Name
+' ' Text
+'=' Operator
+' ' Text
+'ChooseFilesToOpen' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'startpath' Name
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'files' Name
+'.' Punctuation
+'len' Name
+'(' Punctuation
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'for' Keyword
+' ' Text
+'f' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'items' Name
+'(' Punctuation
+'files' Name
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'try' Keyword
+':' Punctuation
+'\n ' Text
+'addTab' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'f' Name
+')' Punctuation
+'\n ' Text
+'except' Keyword
+' ' Text
+'EIO' Name
+':' Punctuation
+'\n ' Text
+'error' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Unable to read from file' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'# Switch to the newly created tab' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+'.' Punctuation
+'setCurrentPage' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'.' Punctuation
+'len' Name
+'(' Punctuation
+')' Punctuation
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'saveFile_Activate' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'current' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'saveTab' Name
+'(' Punctuation
+'current' Name
+',' Punctuation
+' ' Text
+'os' Name
+'.' Punctuation
+'splitFile' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+'.' Punctuation
+'dir' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'saveFileAs_Activate' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'current' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'(' Punctuation
+'filename' Name
+',' Punctuation
+' ' Text
+'saved' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+',' Punctuation
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+')' Punctuation
+'\n\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword.Pseudo
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+'\n ' Text
+'saveTab' Name
+'(' Punctuation
+'current' Name
+',' Punctuation
+' ' Text
+'os' Name
+'.' Punctuation
+'splitFile' Name
+'(' Punctuation
+'filename' Name
+')' Punctuation
+'.' Punctuation
+'dir' Name
+')' Punctuation
+'\n ' Text
+'# If the user cancels the save file dialog. Restore the previous filename' Comment
+'\n ' Text
+'# and saved state' Comment
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+' ' Text
+'=' Operator
+' ' Text
+'filename' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'saved' Name
+' ' Text
+'=' Operator
+' ' Text
+'saved' Name
+'\n\n' Text
+
+'proc ' Keyword
+'undo' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'current' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'canUndo' Name
+'(' Punctuation
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'undo' Name
+'(' Punctuation
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'redo' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'current' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'canRedo' Name
+'(' Punctuation
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'current' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'redo' Name
+'(' Punctuation
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'find_Activate' Name.Function
+'(' Punctuation
+'menuItem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' \n ' Text
+'# Get the selected text, and set the findEntry to it.' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'currentTab' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'insertIter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getIterAtMark' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'insertIter' Name
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getInsert' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'insertOffset' Name
+' ' Text
+'=' Operator
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'insertIter' Name
+')' Punctuation
+'.' Punctuation
+'getOffset' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'selectIter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getIterAtMark' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'selectIter' Name
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getSelectionBound' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'selectOffset' Name
+' ' Text
+'=' Operator
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'selectIter' Name
+')' Punctuation
+'.' Punctuation
+'getOffset' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'if' Keyword
+' ' Text
+'insertOffset' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'selectOffset' Name
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'text' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getText' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'insertIter' Name
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'addr' Keyword
+'(' Punctuation
+'selectIter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'setText' Name
+'(' Punctuation
+'text' Name
+')' Punctuation
+'\n\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'grabFocus' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+'.' Punctuation
+'hide' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceLabel' Name
+'.' Punctuation
+'hide' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceBtn' Name
+'.' Punctuation
+'hide' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceAllBtn' Name
+'.' Punctuation
+'hide' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'replace_Activate' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'grabFocus' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceLabel' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceBtn' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceAllBtn' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'settings_Activate' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'settings' Name
+'.' Punctuation
+'showSettings' Name
+'(' Punctuation
+'win' Name
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'viewBottomPanel_Toggled' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PCheckMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'bottomPanelVisible' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuitem' Name
+'.' Punctuation
+'itemGetActive' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'bottomPanelVisible' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+'.' Punctuation
+'hide' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'var' Keyword.Declaration
+'\n ' Text
+'pegLineError' Name
+' ' Text
+'=' Operator
+' ' Text
+'peg"' Literal.String
+'{[^(]*} ' Literal.String
+"'" Literal.String
+'(' Literal.String
+"'" Literal.String
+' {' Literal.String
+'\\' Literal.String
+'d+} ' Literal.String
+"'" Literal.String
+', ' Literal.String
+"'" Literal.String
+' ' Literal.String
+'\\' Literal.String
+'d+ ' Literal.String
+"'" Literal.String
+') Error:' Literal.String
+"'" Literal.String
+' ' Literal.String
+'\\' Literal.String
+'s* {.*}' Literal.String
+'"' Literal.String
+'\n ' Text
+'pegLineWarning' Name
+' ' Text
+'=' Operator
+' ' Text
+'peg"' Literal.String
+'{[^(]*} ' Literal.String
+"'" Literal.String
+'(' Literal.String
+"'" Literal.String
+' {' Literal.String
+'\\' Literal.String
+'d+} ' Literal.String
+"'" Literal.String
+', ' Literal.String
+"'" Literal.String
+' ' Literal.String
+'\\' Literal.String
+'d+ ' Literal.String
+"'" Literal.String
+') ' Literal.String
+"'" Literal.String
+' (' Literal.String
+"'" Literal.String
+'Warning:' Literal.String
+"'" Literal.String
+'/' Literal.String
+"'" Literal.String
+'Hint:' Literal.String
+"'" Literal.String
+') ' Literal.String
+'\\' Literal.String
+'s* {.*}' Literal.String
+'"' Literal.String
+'\n ' Text
+'pegOtherError' Name
+' ' Text
+'=' Operator
+' ' Text
+'peg"' Literal.String
+"'" Literal.String
+'Error:' Literal.String
+"'" Literal.String
+' ' Literal.String
+'\\' Literal.String
+'s* {.*}' Literal.String
+'"' Literal.String
+'\n ' Text
+'pegSuccess' Name
+' ' Text
+'=' Operator
+' ' Text
+'peg"' Literal.String
+"'" Literal.String
+'Hint: operation successful' Literal.String
+"'" Literal.String
+'.*' Literal.String
+'"' Literal.String
+'\n\n' Text
+
+'proc ' Keyword
+'addText' Name.Function
+'(' Punctuation
+'textView' Name
+':' Punctuation
+' ' Text
+'PTextView' Name
+',' Punctuation
+' ' Text
+'text' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+',' Punctuation
+' ' Text
+'colorTag' Name
+':' Punctuation
+' ' Text
+'PTextTag' Name
+' ' Text
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'text' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'iter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'textView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'getEndIter' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+')' Punctuation
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'colorTag' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+':' Punctuation
+'\n ' Text
+'textView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'insert' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'text' Name
+',' Punctuation
+' ' Text
+'len' Name
+'(' Punctuation
+'text' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'textView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'insertWithTags' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'text' Name
+',' Punctuation
+' ' Text
+'len' Name
+'(' Punctuation
+'text' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'colorTag' Name
+',' Punctuation
+'\n ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'createColor' Name.Function
+'(' Punctuation
+'textView' Name
+':' Punctuation
+' ' Text
+'PTextView' Name
+',' Punctuation
+' ' Text
+'name' Name
+',' Punctuation
+' ' Text
+'color' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+')' Punctuation
+':' Punctuation
+' ' Text
+'PTextTag' Name
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'tagTable' Name
+' ' Text
+'=' Operator
+' ' Text
+'textView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'getTagTable' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'tagTable' Name
+'.' Punctuation
+'tableLookup' Name
+'(' Punctuation
+'name' Name
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'result' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'nil' Keyword.Pseudo
+':' Punctuation
+'\n ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'textView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'createTag' Name
+'(' Punctuation
+'name' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'foreground' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'color' Name
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n' Text
+
+'when' Keyword
+' ' Text
+'not' Operator.Word
+' ' Text
+'defined' Name
+'(' Punctuation
+'os' Name
+'.' Punctuation
+'findExe' Name
+')' Punctuation
+':' Punctuation
+' \n ' Text
+'proc ' Keyword
+'findExe' Name.Function
+'(' Punctuation
+'exe' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+')' Punctuation
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+' ' Text
+'=' Operator
+' \n ' Text
+'## returns "" if the exe cannot be found' Literal.String.Doc
+'\n ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'addFileExt' Name
+'(' Punctuation
+'exe' Name
+',' Punctuation
+' ' Text
+'os' Name
+'.' Punctuation
+'exeExt' Name
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'ExistsFile' Name
+'(' Punctuation
+'result' Name
+')' Punctuation
+':' Punctuation
+' ' Text
+'return' Keyword
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'path' Name
+' ' Text
+'=' Operator
+' ' Text
+'os' Name
+'.' Punctuation
+'getEnv' Name
+'(' Punctuation
+'"' Literal.String
+'PATH' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'for' Keyword
+' ' Text
+'candidate' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'split' Name
+'(' Punctuation
+'path' Name
+',' Punctuation
+' ' Text
+'pathSep' Name
+')' Punctuation
+':' Punctuation
+' \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'x' Name
+' ' Text
+'=' Operator
+' ' Text
+'candidate' Name
+' ' Text
+'/' Operator
+' ' Text
+'result' Name
+'\n ' Text
+'if' Keyword
+' ' Text
+'ExistsFile' Name
+'(' Punctuation
+'x' Name
+')' Punctuation
+':' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'x' Name
+'\n ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+'\n\n' Text
+
+'proc ' Keyword
+'GetCmd' Name.Function
+'(' Punctuation
+'cmd' Name
+',' Punctuation
+' ' Text
+'filename' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+')' Punctuation
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+' ' Text
+'=' Operator
+' \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'f' Name
+' ' Text
+'=' Operator
+' ' Text
+'quoteIfContainsWhite' Name
+'(' Punctuation
+'filename' Name
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'cmd' Name
+' ' Text
+'=' Operator
+'~' Operator
+' ' Text
+'peg"' Literal.String
+'\\' Literal.String
+'s* ' Literal.String
+"'" Literal.String
+'$' Literal.String
+"'" Literal.String
+' y' Literal.String
+"'" Literal.String
+'findExe' Literal.String
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+'(' Literal.String
+"'" Literal.String
+' {[^)]+} ' Literal.String
+"'" Literal.String
+')' Literal.String
+"'" Literal.String
+' {.*}' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'exe' Name
+' ' Text
+'=' Operator
+' ' Text
+'quoteIfContainsWhite' Name
+'(' Punctuation
+'findExe' Name
+'(' Punctuation
+'matches' Name
+'[' Operator
+'0' Literal.Number.Integer
+']' Operator
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'exe' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+' ' Text
+'exe' Name
+' ' Text
+'=' Operator
+' ' Text
+'matches' Name
+'[' Operator
+'0' Literal.Number.Integer
+']' Operator
+'\n ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'exe' Name
+' ' Text
+'&' Operator
+' ' Text
+'"' Literal.String
+' ' Literal.String
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'matches' Name
+'[' Operator
+'1' Literal.Number.Integer
+']' Operator
+' ' Text
+'%' Operator
+' ' Text
+'f' Name
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'cmd' Name
+' ' Text
+'%' Operator
+' ' Text
+'f' Name
+'\n\n' Text
+
+'proc ' Keyword
+'showBottomPanel' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Operator.Word
+' ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'bottomPanelVisible' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'bottomPanelVisible' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Keyword.Pseudo
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'itemSetActive' Name
+'(' Punctuation
+'true' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'# Scroll to the end of the TextView' Comment
+'\n ' Text
+"# This is stupid, it works sometimes... it's random" Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'endIter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'getEndIter' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'endIter' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'scrollToIter' Name
+'(' Punctuation
+'\n ' Text
+'addr' Keyword
+'(' Punctuation
+'endIter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+'.25' Literal.Number.Float
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+'.0' Literal.Number.Float
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+'.0' Literal.Number.Float
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'compileRun' Name.Function
+'(' Punctuation
+'currentTab' Name
+':' Punctuation
+' ' Text
+'int' Keyword.Type
+',' Punctuation
+' ' Text
+'shouldRun' Name
+':' Punctuation
+' ' Text
+'bool' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+' ' Text
+'return' Keyword
+'\n ' Text
+'# Clear the outputTextView' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'setText' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'outp' Name
+' ' Text
+'=' Operator
+' ' Text
+'osProc' Name
+'.' Punctuation
+'execProcess' Name
+'(' Punctuation
+'GetCmd' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'nimrodCmd' Name
+',' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'# Colors' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'normalTag' Name
+' ' Text
+'=' Operator
+' ' Text
+'createColor' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'normalTag' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'#3d3d3d' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'errorTag' Name
+' ' Text
+'=' Operator
+' ' Text
+'createColor' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'errorTag' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'red' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'warningTag' Name
+' ' Text
+'=' Operator
+' ' Text
+'createColor' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'warningTag' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'darkorange' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'successTag' Name
+' ' Text
+'=' Operator
+' ' Text
+'createColor' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'successTag' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'darkgreen' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'for' Keyword
+' ' Text
+'x' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'outp' Name
+'.' Punctuation
+'splitLines' Name
+'(' Punctuation
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'x' Name
+' ' Text
+'=' Operator
+'~' Operator
+' ' Text
+'pegLineError' Name
+' ' Text
+'/' Operator
+' ' Text
+'pegOtherError' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'addText' Name
+'(' Punctuation
+'"' Literal.String
+'\\n' Literal.String.Escape
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'errorTag' Name
+')' Punctuation
+'\n ' Text
+'elif' Keyword
+' ' Text
+'x' Name
+'=' Operator
+'~' Operator
+' ' Text
+'pegSuccess' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'addText' Name
+'(' Punctuation
+'"' Literal.String
+'\\n' Literal.String.Escape
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'successTag' Name
+')' Punctuation
+'\n \n ' Text
+'# Launch the process' Comment
+'\n ' Text
+'if' Keyword
+' ' Text
+'shouldRun' Name
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'filename' Name
+' ' Text
+'=' Operator
+' ' Text
+'changeFileExt' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+',' Punctuation
+' ' Text
+'os' Name
+'.' Punctuation
+'ExeExt' Name
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'output' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'\\n' Literal.String.Escape
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'osProc' Name
+'.' Punctuation
+'execProcess' Name
+'(' Punctuation
+'filename' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'addText' Name
+'(' Punctuation
+'output' Name
+')' Punctuation
+'\n ' Text
+'elif' Keyword
+' ' Text
+'x' Name
+' ' Text
+'=' Operator
+'~' Operator
+' ' Text
+'pegLineWarning' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'addText' Name
+'(' Punctuation
+'"' Literal.String
+'\\n' Literal.String.Escape
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'warningTag' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'addText' Name
+'(' Punctuation
+'"' Literal.String
+'\\n' Literal.String.Escape
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'normalTag' Name
+')' Punctuation
+'\n ' Text
+'showBottomPanel' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'CompileCurrent_Activate' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'saveFile_Activate' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'compileRun' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'CompileRunCurrent_Activate' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'saveFile_Activate' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'compileRun' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+',' Punctuation
+' ' Text
+'true' Keyword.Pseudo
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'CompileProject_Activate' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'saveAllTabs' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'compileRun' Name
+'(' Punctuation
+'getProjectTab' Name
+'(' Punctuation
+')' Punctuation
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'CompileRunProject_Activate' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'saveAllTabs' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'compileRun' Name
+'(' Punctuation
+'getProjectTab' Name
+'(' Punctuation
+')' Punctuation
+',' Punctuation
+' ' Text
+'true' Keyword.Pseudo
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'RunCustomCommand' Name.Function
+'(' Punctuation
+'cmd' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Operator
+' \n ' Text
+'saveFile_Activate' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'currentTab' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'or' Operator.Word
+' ' Text
+'cmd' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+' ' Text
+'return' Keyword
+'\n ' Text
+'# Clear the outputTextView' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'getBuffer' Name
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'setText' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'outp' Name
+' ' Text
+'=' Operator
+' ' Text
+'osProc' Name
+'.' Punctuation
+'execProcess' Name
+'(' Punctuation
+'GetCmd' Name
+'(' Punctuation
+'cmd' Name
+',' Punctuation
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'filename' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'normalTag' Name
+' ' Text
+'=' Operator
+' ' Text
+'createColor' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'normalTag' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'#3d3d3d' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'for' Keyword
+' ' Text
+'x' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'outp' Name
+'.' Punctuation
+'splitLines' Name
+'(' Punctuation
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'addText' Name
+'(' Punctuation
+'"' Literal.String
+'\\n' Literal.String.Escape
+'"' Literal.String
+' ' Text
+'&' Operator
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'normalTag' Name
+')' Punctuation
+'\n ' Text
+'showBottomPanel' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'RunCustomCommand1' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'RunCustomCommand' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'customCmd1' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'RunCustomCommand2' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'RunCustomCommand' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'customCmd2' Name
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'RunCustomCommand3' Name.Function
+'(' Punctuation
+'menuitem' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'RunCustomCommand' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'customCmd3' Name
+')' Punctuation
+'\n\n' Text
+
+'# -- FindBar' Comment
+'\n\n' Text
+
+'proc ' Keyword
+'nextBtn_Clicked' Name.Function
+'(' Punctuation
+'button' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'findText' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n' Text
+
+'proc ' Keyword
+'prevBtn_Clicked' Name.Function
+'(' Punctuation
+'button' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'findText' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'replaceBtn_Clicked' Name.Function
+'(' Punctuation
+'button' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'currentTab' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'getCurrentPage' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'start' Name
+',' Punctuation
+' ' Text
+'theEnd' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Operator.Word
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getSelectionBounds' Name
+'(' Punctuation
+'\n ' Text
+'addr' Keyword
+'(' Punctuation
+'start' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'theEnd' Name
+')' Punctuation
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'# If no text is selected, try finding a match.' Comment
+'\n ' Text
+'findText' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Operator.Word
+' ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getSelectionBounds' Name
+'(' Punctuation
+'\n ' Text
+'addr' Keyword
+'(' Punctuation
+'start' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'theEnd' Name
+')' Punctuation
+')' Punctuation
+':' Punctuation
+'\n ' Text
+'# No match' Comment
+'\n ' Text
+'return' Keyword
+'\n \n ' Text
+'# Remove the text' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'delete' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'start' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'theEnd' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'# Insert the replacement' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'text' Name
+' ' Text
+'=' Operator
+' ' Text
+'getText' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'currentTab' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'insert' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'start' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'text' Name
+',' Punctuation
+' ' Text
+'len' Name
+'(' Punctuation
+'text' Name
+')' Punctuation
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'replaceAllBtn_Clicked' Name.Function
+'(' Punctuation
+'button' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'find' Name
+' ' Text
+'=' Operator
+' ' Text
+'getText' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'findEntry' Name
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'replace' Name
+' ' Text
+'=' Operator
+' ' Text
+'getText' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'replaceAll' Name
+'(' Punctuation
+'find' Name
+',' Punctuation
+' ' Text
+'replace' Name
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'closeBtn_Clicked' Name.Function
+'(' Punctuation
+'button' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' \n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'hide' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'caseSens_Changed' Name.Function
+'(' Punctuation
+'radiomenuitem' Name
+':' Punctuation
+' ' Text
+'PRadioMenuitem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'search' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'casesens' Literal.String
+'"' Literal.String
+'\n' Text
+
+'proc ' Keyword
+'caseInSens_Changed' Name.Function
+'(' Punctuation
+'radiomenuitem' Name
+':' Punctuation
+' ' Text
+'PRadioMenuitem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'search' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'caseinsens' Literal.String
+'"' Literal.String
+'\n' Text
+
+'proc ' Keyword
+'style_Changed' Name.Function
+'(' Punctuation
+'radiomenuitem' Name
+':' Punctuation
+' ' Text
+'PRadioMenuitem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'search' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'style' Literal.String
+'"' Literal.String
+'\n' Text
+
+'proc ' Keyword
+'regex_Changed' Name.Function
+'(' Punctuation
+'radiomenuitem' Name
+':' Punctuation
+' ' Text
+'PRadioMenuitem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'search' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'regex' Literal.String
+'"' Literal.String
+'\n' Text
+
+'proc ' Keyword
+'peg_Changed' Name.Function
+'(' Punctuation
+'radiomenuitem' Name
+':' Punctuation
+' ' Text
+'PRadioMenuitem' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'search' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'peg' Literal.String
+'"' Literal.String
+'\n\n' Text
+
+'proc ' Keyword
+'extraBtn_Clicked' Name.Function
+'(' Punctuation
+'button' Name
+':' Punctuation
+' ' Text
+'PButton' Name
+',' Punctuation
+' ' Text
+'user_data' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'extraMenu' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'group' Name
+':' Punctuation
+' ' Text
+'PGSList' Name
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'caseSensMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'radio_menu_item_new' Name
+'(' Punctuation
+'group' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Case sensitive' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'extraMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'caseSensMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'caseSensMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'toggled' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'caseSens_Changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'caseSensMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'group' Name
+' ' Text
+'=' Operator
+' ' Text
+'caseSensMenuItem' Name
+'.' Punctuation
+'ItemGetGroup' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'caseInSensMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'radio_menu_item_new' Name
+'(' Punctuation
+'group' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Case insensitive' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'extraMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'caseInSensMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'caseInSensMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'toggled' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'caseInSens_Changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'caseInSensMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'group' Name
+' ' Text
+'=' Operator
+' ' Text
+'caseInSensMenuItem' Name
+'.' Punctuation
+'ItemGetGroup' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'styleMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'radio_menu_item_new' Name
+'(' Punctuation
+'group' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Style insensitive' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'extraMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'styleMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'styleMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'toggled' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'style_Changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'styleMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'group' Name
+' ' Text
+'=' Operator
+' ' Text
+'styleMenuItem' Name
+'.' Punctuation
+'ItemGetGroup' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'regexMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'radio_menu_item_new' Name
+'(' Punctuation
+'group' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Regex' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'extraMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'regexMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'regexMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'toggled' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'regex_Changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'regexMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'group' Name
+' ' Text
+'=' Operator
+' ' Text
+'regexMenuItem' Name
+'.' Punctuation
+'ItemGetGroup' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'pegMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'radio_menu_item_new' Name
+'(' Punctuation
+'group' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Pegs' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'extraMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'pegMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'pegMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'toggled' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'peg_Changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'pegMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# Make the correct radio button active' Comment
+'\n ' Text
+'case' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'search' Name
+'\n ' Text
+'of' Keyword
+' ' Text
+'"' Literal.String
+'casesens' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'caseSensMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'ItemSetActive' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'of' Keyword
+' ' Text
+'"' Literal.String
+'caseinsens' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'caseInSensMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'ItemSetActive' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'of' Keyword
+' ' Text
+'"' Literal.String
+'style' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'styleMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'ItemSetActive' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'of' Keyword
+' ' Text
+'"' Literal.String
+'regex' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'regexMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'ItemSetActive' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'of' Keyword
+' ' Text
+'"' Literal.String
+'peg' Literal.String
+'"' Literal.String
+':' Punctuation
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'pegMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'ItemSetActive' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'extraMenu' Name
+'.' Punctuation
+'popup' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'get_current_event_time' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'# GUI Initialization' Comment
+'\n\n' Text
+
+'proc ' Keyword
+'createAccelMenuItem' Name.Function
+'(' Punctuation
+'toolsMenu' Name
+':' Punctuation
+' ' Text
+'PMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+':' Punctuation
+' ' Text
+'PAccelGroup' Name
+',' Punctuation
+' \n ' Text
+'label' Name
+':' Punctuation
+' ' Text
+'string' Keyword.Type
+',' Punctuation
+' ' Text
+'acc' Name
+':' Punctuation
+' ' Text
+'gint' Name
+',' Punctuation
+'\n ' Text
+'action' Name
+':' Punctuation
+' ' Text
+'proc' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+':' Punctuation
+' ' Text
+'PMenuItem' Name
+',' Punctuation
+' ' Text
+'p' Name
+':' Punctuation
+' ' Text
+'pgpointer' Name
+')' Punctuation
+')' Punctuation
+' ' Text
+'=' Operator
+' \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'label' Name
+')' Punctuation
+'\n ' Text
+'result' Name
+'.' Punctuation
+'addAccelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'acc' Name
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+'\n ' Text
+'ToolsMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'result' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'result' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'result' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'action' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'createSeparator' Name.Function
+'(' Punctuation
+'menu' Name
+':' Punctuation
+' ' Text
+'PMenu' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'sep' Name
+' ' Text
+'=' Operator
+' ' Text
+'separator_menu_item_new' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'menu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'sep' Name
+')' Punctuation
+'\n ' Text
+'sep' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'initTopMenu' Name.Function
+'(' Punctuation
+'MainBox' Name
+':' Punctuation
+' ' Text
+'PBox' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# Create a accelerator group, used for shortcuts' Comment
+'\n ' Text
+'# like CTRL + S in SaveMenuItem' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'accGroup' Name
+' ' Text
+'=' Operator
+' ' Text
+'accel_group_new' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'add_accel_group' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+')' Punctuation
+'\n\n ' Text
+'# TopMenu(MenuBar)' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'TopMenu' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuBarNew' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# FileMenu' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'FileMenu' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuNew' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'NewMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'New' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# New' Comment
+'\n ' Text
+'FileMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'NewMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'NewMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'NewMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'newFile' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'createSeparator' Name
+'(' Punctuation
+'FileMenu' Name
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'OpenMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Open...' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Open...' Comment
+'\n ' Text
+'# CTRL + O' Comment
+'\n ' Text
+'OpenMenuItem' Name
+'.' Punctuation
+'add_accelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' \n ' Text
+'KEY_o' Name
+',' Punctuation
+' ' Text
+'CONTROL_MASK' Name
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+' \n ' Text
+'FileMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'OpenMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'OpenMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'OpenMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'openFile' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'SaveMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Save' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Save' Comment
+'\n ' Text
+'# CTRL + S' Comment
+'\n ' Text
+'SaveMenuItem' Name
+'.' Punctuation
+'add_accelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' \n ' Text
+'KEY_s' Name
+',' Punctuation
+' ' Text
+'CONTROL_MASK' Name
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+' \n ' Text
+'FileMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'SaveMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'SaveMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'SaveMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'saveFile_activate' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'SaveAsMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Save As...' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Save as...' Comment
+'\n\n ' Text
+'SaveAsMenuItem' Name
+'.' Punctuation
+'add_accelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' \n ' Text
+'KEY_s' Name
+',' Punctuation
+' ' Text
+'CONTROL_MASK' Name
+' ' Text
+'or' Operator.Word
+' ' Text
+'gdk2' Name
+'.' Punctuation
+'SHIFT_MASK' Name
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+' \n ' Text
+'FileMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'SaveAsMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'SaveAsMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'SaveAsMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'saveFileAs_Activate' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'FileMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuItemNewWithMnemonic' Name
+'(' Punctuation
+'"' Literal.String
+'_File' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n\n ' Text
+'FileMenuItem' Name
+'.' Punctuation
+'setSubMenu' Name
+'(' Punctuation
+'FileMenu' Name
+')' Punctuation
+'\n ' Text
+'FileMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'TopMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'FileMenuItem' Name
+')' Punctuation
+'\n \n ' Text
+'# Edit menu' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'EditMenu' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuNew' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'UndoMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Undo' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Undo' Comment
+'\n ' Text
+'EditMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'UndoMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'UndoMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'UndoMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'undo' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'RedoMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Redo' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Undo' Comment
+'\n ' Text
+'EditMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'RedoMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'RedoMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'RedoMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'redo' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'createSeparator' Name
+'(' Punctuation
+'EditMenu' Name
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'FindMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Find' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Find' Comment
+'\n ' Text
+'FindMenuItem' Name
+'.' Punctuation
+'add_accelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' \n ' Text
+'KEY_f' Name
+',' Punctuation
+' ' Text
+'CONTROL_MASK' Name
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+' \n ' Text
+'EditMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'FindMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'FindMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'FindMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'find_Activate' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'ReplaceMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Replace' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Replace' Comment
+'\n ' Text
+'ReplaceMenuItem' Name
+'.' Punctuation
+'add_accelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' \n ' Text
+'KEY_h' Name
+',' Punctuation
+' ' Text
+'CONTROL_MASK' Name
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+' \n ' Text
+'EditMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'ReplaceMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'ReplaceMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'ReplaceMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'replace_Activate' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'createSeparator' Name
+'(' Punctuation
+'EditMenu' Name
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'SettingsMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Settings...' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'# Settings' Comment
+'\n ' Text
+'EditMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'SettingsMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'SettingsMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'SettingsMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'Settings_Activate' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'EditMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuItemNewWithMnemonic' Name
+'(' Punctuation
+'"' Literal.String
+'_Edit' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n\n ' Text
+'EditMenuItem' Name
+'.' Punctuation
+'setSubMenu' Name
+'(' Punctuation
+'EditMenu' Name
+')' Punctuation
+'\n ' Text
+'EditMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'TopMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'EditMenuItem' Name
+')' Punctuation
+'\n \n ' Text
+'# View menu' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'ViewMenu' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuNew' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'check_menu_item_new' Name
+'(' Punctuation
+'"' Literal.String
+'Bottom Panel' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'PCheckMenuItem' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+')' Punctuation
+'.' Punctuation
+'itemSetActive' Name
+'(' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'bottomPanelVisible' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+'.' Punctuation
+'add_accelerator' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' \n ' Text
+'KEY_f9' Name
+',' Punctuation
+' ' Text
+'CONTROL_MASK' Name
+',' Punctuation
+' ' Text
+'ACCEL_VISIBLE' Name
+')' Punctuation
+' \n ' Text
+'ViewMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+')' Punctuation
+'\n ' Text
+'show' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'signal_connect' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'viewBottomPanelMenuItem' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'toggled' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'viewBottomPanel_Toggled' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'ViewMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuItemNewWithMnemonic' Name
+'(' Punctuation
+'"' Literal.String
+'_View' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n\n ' Text
+'ViewMenuItem' Name
+'.' Punctuation
+'setSubMenu' Name
+'(' Punctuation
+'ViewMenu' Name
+')' Punctuation
+'\n ' Text
+'ViewMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'TopMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'ViewMenuItem' Name
+')' Punctuation
+' \n \n \n ' Text
+'# Tools menu' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'ToolsMenu' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuNew' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Compile current file' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F4' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'CompileCurrent_Activate' Name
+')' Punctuation
+'\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Compile & run current file' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F5' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'CompileRunCurrent_Activate' Name
+')' Punctuation
+'\n ' Text
+'createSeparator' Name
+'(' Punctuation
+'ToolsMenu' Name
+')' Punctuation
+'\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Compile project' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F8' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'CompileProject_Activate' Name
+')' Punctuation
+'\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Compile & run project' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F9' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'CompileRunProject_Activate' Name
+')' Punctuation
+'\n ' Text
+'createSeparator' Name
+'(' Punctuation
+'ToolsMenu' Name
+')' Punctuation
+'\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Run custom command 1' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F1' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'RunCustomCommand1' Name
+')' Punctuation
+'\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Run custom command 2' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F2' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'RunCustomCommand2' Name
+')' Punctuation
+'\n ' Text
+'createAccelMenuItem' Name
+'(' Punctuation
+'ToolsMenu' Name
+',' Punctuation
+' ' Text
+'accGroup' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Run custom command 3' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'KEY_F3' Name
+',' Punctuation
+' ' Text
+'aporia' Name
+'.' Punctuation
+'RunCustomCommand3' Name
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'ToolsMenuItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'menuItemNewWithMnemonic' Name
+'(' Punctuation
+'"' Literal.String
+'_Tools' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n \n ' Text
+'ToolsMenuItem' Name
+'.' Punctuation
+'setSubMenu' Name
+'(' Punctuation
+'ToolsMenu' Name
+')' Punctuation
+'\n ' Text
+'ToolsMenuItem' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'TopMenu' Name
+'.' Punctuation
+'append' Name
+'(' Punctuation
+'ToolsMenuItem' Name
+')' Punctuation
+'\n \n ' Text
+'# Help menu' Comment
+'\n ' Text
+'MainBox' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'TopMenu' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'TopMenu' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'initToolBar' Name.Function
+'(' Punctuation
+'MainBox' Name
+':' Punctuation
+' ' Text
+'PBox' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# TopBar(ToolBar)' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'TopBar' Name
+' ' Text
+'=' Operator
+' ' Text
+'toolbarNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'TopBar' Name
+'.' Punctuation
+'setStyle' Name
+'(' Punctuation
+'TOOLBAR_ICONS' Name
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'NewFileItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'TopBar' Name
+'.' Punctuation
+'insertStock' Name
+'(' Punctuation
+'STOCK_NEW' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'New File' Literal.String
+'"' Literal.String
+',' Punctuation
+'\n ' Text
+'"' Literal.String
+'New File' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'newFile' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'TopBar' Name
+'.' Punctuation
+'appendSpace' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'OpenItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'TopBar' Name
+'.' Punctuation
+'insertStock' Name
+'(' Punctuation
+'STOCK_OPEN' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Open' Literal.String
+'"' Literal.String
+',' Punctuation
+'\n ' Text
+'"' Literal.String
+'Open' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'openFile' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'SaveItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'TopBar' Name
+'.' Punctuation
+'insertStock' Name
+'(' Punctuation
+'STOCK_SAVE' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Save' Literal.String
+'"' Literal.String
+',' Punctuation
+'\n ' Text
+'"' Literal.String
+'Save' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'saveFile_Activate' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'TopBar' Name
+'.' Punctuation
+'appendSpace' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'UndoItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'TopBar' Name
+'.' Punctuation
+'insertStock' Name
+'(' Punctuation
+'STOCK_UNDO' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Undo' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'"' Literal.String
+'Undo' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'undo' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'RedoItem' Name
+' ' Text
+'=' Operator
+' ' Text
+'TopBar' Name
+'.' Punctuation
+'insertStock' Name
+'(' Punctuation
+'STOCK_REDO' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Redo' Literal.String
+'"' Literal.String
+',' Punctuation
+'\n ' Text
+'"' Literal.String
+'Redo' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'redo' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+'\n \n ' Text
+'MainBox' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'TopBar' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'TopBar' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'initSourceViewTabs' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+' ' Text
+'=' Operator
+' ' Text
+'notebookNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'#win.sourceViewTabs.dragDestSet(DEST_DEFAULT_DROP, nil, 0, ACTION_MOVE)' Comment
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'\n ' Text
+'"' Literal.String
+'switch-page' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'onSwitchTab' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'#discard win.SourceViewTabs.signalConnect(' Comment
+'\n ' Text
+'# "drag-drop", SIGNAL_FUNC(svTabs_DragDrop), nil)' Comment
+'\n ' Text
+'#discard win.SourceViewTabs.signalConnect(' Comment
+'\n ' Text
+'# "drag-data-received", SIGNAL_FUNC(svTabs_DragDataRecv), nil)' Comment
+'\n ' Text
+'#discard win.SourceViewTabs.signalConnect(' Comment
+'\n ' Text
+'# "drag-motion", SIGNAL_FUNC(svTabs_DragMotion), nil)' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'set_scrollable' Name
+'(' Punctuation
+'True' Keyword.Pseudo
+')' Punctuation
+'\n \n ' Text
+'win' Name
+'.' Punctuation
+'SourceViewTabs' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'lastSession' Name
+'.' Punctuation
+'len' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+'in' Operator.Word
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'..' Punctuation
+' ' Text
+'len' Name
+'(' Punctuation
+'lastSession' Name
+')' Punctuation
+'-' Operator
+'1' Literal.Number.Integer
+':' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'splitUp' Name
+' ' Text
+'=' Operator
+' ' Text
+'lastSession' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'split' Name
+'(' Punctuation
+"'" Literal.String.Char
+'|' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'(' Punctuation
+'filename' Name
+',' Punctuation
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'splitUp' Name
+'[' Operator
+'0' Literal.Number.Integer
+']' Operator
+',' Punctuation
+' ' Text
+'splitUp' Name
+'[' Operator
+'1' Literal.Number.Integer
+']' Operator
+')' Punctuation
+'\n ' Text
+'addTab' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'filename' Name
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'iter' Name
+':' Punctuation
+' ' Text
+'TTextIter' Name
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'getIterAtOffset' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'offset' Name
+'.' Punctuation
+'parseInt' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'moveMarkByName' Name
+'(' Punctuation
+'"' Literal.String
+'insert' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'buffer' Name
+'.' Punctuation
+'moveMarkByName' Name
+'(' Punctuation
+'"' Literal.String
+'selection_bound' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# TODO: Fix this..... :(' Comment
+'\n ' Text
+'discard' Keyword
+' ' Text
+'PTextView' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'i' Name
+']' Operator
+'.' Punctuation
+'sourceView' Name
+')' Punctuation
+'.' Punctuation
+'\n ' Text
+'scrollToIter' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'iter' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+'.25' Literal.Number.Float
+',' Punctuation
+' ' Text
+'true' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+'.0' Literal.Number.Float
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+'.0' Literal.Number.Float
+')' Punctuation
+'\n ' Text
+'else' Keyword
+':' Punctuation
+'\n ' Text
+'addTab' Name
+'(' Punctuation
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n \n ' Text
+"# This doesn't work :\\" Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'Tabs' Name
+'[' Operator
+'0' Literal.Number.Integer
+']' Operator
+'.' Punctuation
+'sourceView' Name
+'.' Punctuation
+'grabFocus' Name
+'(' Punctuation
+')' Punctuation
+'\n\n \n' Text
+
+'proc ' Keyword
+'initBottomTabs' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+' ' Text
+'=' Operator
+' ' Text
+'notebookNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'bottomPanelVisible' Name
+':' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# output tab' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'tabLabel' Name
+' ' Text
+'=' Operator
+' ' Text
+'labelNew' Name
+'(' Punctuation
+'"' Literal.String
+'Output' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'outputTab' Name
+' ' Text
+'=' Operator
+' ' Text
+'vboxNew' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+'.' Punctuation
+'appendPage' Name
+'(' Punctuation
+'outputTab' Name
+',' Punctuation
+' ' Text
+'tabLabel' Name
+')' Punctuation
+'\n ' Text
+'# Compiler tabs, gtktextview' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'outputScrolledWindow' Name
+' ' Text
+'=' Operator
+' ' Text
+'scrolledwindowNew' Name
+'(' Punctuation
+'nil' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'outputScrolledWindow' Name
+'.' Punctuation
+'setPolicy' Name
+'(' Punctuation
+'POLICY_AUTOMATIC' Name
+',' Punctuation
+' ' Text
+'POLICY_AUTOMATIC' Name
+')' Punctuation
+'\n ' Text
+'outputTab' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'outputScrolledWindow' Name
+',' Punctuation
+' ' Text
+'true' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'true' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'outputScrolledWindow' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+' ' Text
+'=' Operator
+' ' Text
+'textviewNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'outputScrolledWindow' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'outputTextView' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'outputTab' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'initTAndBP' Name.Function
+'(' Punctuation
+'MainBox' Name
+':' Punctuation
+' ' Text
+'PBox' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+"# This init's the HPaned, which splits the sourceViewTabs" Comment
+'\n ' Text
+'# and the BottomPanelTabs' Comment
+'\n ' Text
+'initSourceViewTabs' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'initBottomTabs' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'var' Keyword.Declaration
+' ' Text
+'TAndBPVPaned' Name
+' ' Text
+'=' Operator
+' ' Text
+'vpanedNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'tandbpVPaned' Name
+'.' Punctuation
+'pack1' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'sourceViewTabs' Name
+',' Punctuation
+' ' Text
+'resize' Name
+'=' Operator
+'True' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'shrink' Name
+'=' Operator
+'False' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'tandbpVPaned' Name
+'.' Punctuation
+'pack2' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'bottomPanelTabs' Name
+',' Punctuation
+' ' Text
+'resize' Name
+'=' Operator
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'shrink' Name
+'=' Operator
+'False' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'MainBox' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'TAndBPVPaned' Name
+',' Punctuation
+' ' Text
+'True' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'True' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'tandbpVPaned' Name
+'.' Punctuation
+'setPosition' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'VPanedPos' Name
+')' Punctuation
+'\n ' Text
+'TAndBPVPaned' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'initFindBar' Name.Function
+'(' Punctuation
+'MainBox' Name
+':' Punctuation
+' ' Text
+'PBox' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# Create a fixed container' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+' ' Text
+'=' Operator
+' ' Text
+'HBoxNew' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'setSpacing' Name
+'(' Punctuation
+'4' Literal.Number.Integer
+')' Punctuation
+'\n\n ' Text
+"# Add a Label 'Find'" Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'findLabel' Name
+' ' Text
+'=' Operator
+' ' Text
+'labelNew' Name
+'(' Punctuation
+'"' Literal.String
+'Find:' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'findLabel' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'findLabel' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'# Add a (find) text entry' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+' ' Text
+'=' Operator
+' ' Text
+'entryNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'findEntry' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'activate' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'\n ' Text
+'aporia' Name
+'.' Punctuation
+'nextBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'rq' Name
+':' Punctuation
+' ' Text
+'TRequisition' Name
+' \n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'sizeRequest' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'rq' Name
+')' Punctuation
+')' Punctuation
+'\n\n ' Text
+'# Make the (find) text entry longer' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findEntry' Name
+'.' Punctuation
+'set_size_request' Name
+'(' Punctuation
+'190' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'rq' Name
+'.' Punctuation
+'height' Name
+')' Punctuation
+'\n \n ' Text
+"# Add a Label 'Replace' " Comment
+'\n ' Text
+"# - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown" Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceLabel' Name
+' ' Text
+'=' Operator
+' ' Text
+'labelNew' Name
+'(' Punctuation
+'"' Literal.String
+'Replace:' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'replaceLabel' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'#replaceLabel.show()' Comment
+'\n \n ' Text
+'# Add a (replace) text entry ' Comment
+'\n ' Text
+"# - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown" Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+' ' Text
+'=' Operator
+' ' Text
+'entryNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'#win.replaceEntry.show()' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'rq1' Name
+':' Punctuation
+' ' Text
+'TRequisition' Name
+' \n ' Text
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+'.' Punctuation
+'sizeRequest' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'rq1' Name
+')' Punctuation
+')' Punctuation
+'\n\n ' Text
+'# Make the (replace) text entry longer' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceEntry' Name
+'.' Punctuation
+'set_size_request' Name
+'(' Punctuation
+'100' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'rq1' Name
+'.' Punctuation
+'height' Name
+')' Punctuation
+'\n \n ' Text
+'# Find next button' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'nextBtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+'"' Literal.String
+'Next' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'nextBtn' Name
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'nextBtn' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'nextBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'nextBtn' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'nxtBtnRq' Name
+':' Punctuation
+' ' Text
+'TRequisition' Name
+'\n ' Text
+'nextBtn' Name
+'.' Punctuation
+'sizeRequest' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'nxtBtnRq' Name
+')' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# Find previous button' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'prevBtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+'"' Literal.String
+'Previous' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'prevBtn' Name
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'prevBtn' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'prevBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'prevBtn' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'# Replace button' Comment
+'\n ' Text
+"# - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown" Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceBtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+'"' Literal.String
+'Replace' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'replaceBtn' Name
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'replaceBtn' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'replaceBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'#replaceBtn.show()' Comment
+'\n\n ' Text
+'# Replace all button' Comment
+'\n ' Text
+"# - this Is only shown, when the 'Search & Replace'(CTRL + H) is shown" Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'replaceAllBtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+'"' Literal.String
+'Replace All' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'replaceAllBtn' Name
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'false' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'replaceAllBtn' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'replaceAllBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'#replaceAllBtn.show()' Comment
+'\n \n ' Text
+'# Right side ...' Comment
+'\n \n ' Text
+'# Close button - With a close stock image' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'closeBtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'closeImage' Name
+' ' Text
+'=' Operator
+' ' Text
+'imageNewFromStock' Name
+'(' Punctuation
+'STOCK_CLOSE' Name
+',' Punctuation
+' ' Text
+'ICON_SIZE_SMALL_TOOLBAR' Name
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'closeBox' Name
+' ' Text
+'=' Operator
+' ' Text
+'hboxNew' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'closeBtn' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'closeBox' Name
+')' Punctuation
+'\n ' Text
+'closeBox' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'closeBox' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'closeImage' Name
+')' Punctuation
+'\n ' Text
+'closeImage' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'closeBtn' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'closeBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packEnd' Name
+'(' Punctuation
+'closeBtn' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'closeBtn' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+"# Extra button - When clicked shows a menu with options like 'Use regex'" Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'extraBtn' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttonNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'extraImage' Name
+' ' Text
+'=' Operator
+' ' Text
+'imageNewFromStock' Name
+'(' Punctuation
+'STOCK_PROPERTIES' Name
+',' Punctuation
+' ' Text
+'ICON_SIZE_SMALL_TOOLBAR' Name
+')' Punctuation
+'\n\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'extraBox' Name
+' ' Text
+'=' Operator
+' ' Text
+'hboxNew' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'extraBtn' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'extraBox' Name
+')' Punctuation
+'\n ' Text
+'extraBox' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'extraBox' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'extraImage' Name
+')' Punctuation
+'\n ' Text
+'extraImage' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'extraBtn' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'clicked' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'extraBtn_Clicked' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'packEnd' Name
+'(' Punctuation
+'extraBtn' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'extraBtn' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'MainBox' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'findBar' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'findBar' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n\n' Text
+
+'proc ' Keyword
+'initStatusBar' Name.Function
+'(' Punctuation
+'MainBox' Name
+':' Punctuation
+' ' Text
+'PBox' Name
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+' ' Text
+'=' Operator
+' ' Text
+'statusbarNew' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'MainBox' Name
+'.' Punctuation
+'packStart' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'bottomBar' Name
+'.' Punctuation
+'push' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Line: 0 Column: 0' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n \n' Text
+
+'proc ' Keyword
+'initControls' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'=' Operator
+'\n ' Text
+'# Load up the language style' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'langMan' Name
+' ' Text
+'=' Operator
+' ' Text
+'languageManagerGetDefault' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'langpaths' Name
+':' Punctuation
+' ' Text
+'array' Keyword.Type
+'[' Operator
+'0' Literal.Number.Float
+'..' Punctuation
+'1' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'cstring' Name
+']' Operator
+' ' Text
+'=' Operator
+' \n ' Text
+'[' Operator
+'cstring' Name
+'(' Punctuation
+'os' Name
+'.' Punctuation
+'getApplicationDir' Name
+'(' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'langSpecs' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+']' Operator
+'\n ' Text
+'win' Name
+'.' Punctuation
+'langMan' Name
+'.' Punctuation
+'setSearchPath' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'langpaths' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'nimLang' Name
+' ' Text
+'=' Operator
+' ' Text
+'win' Name
+'.' Punctuation
+'langMan' Name
+'.' Punctuation
+'getLanguage' Name
+'(' Punctuation
+'"' Literal.String
+'nimrod' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'nimLang' Name
+' ' Text
+'=' Operator
+' ' Text
+'nimLang' Name
+'\n \n ' Text
+'# Load the scheme' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'schemeMan' Name
+' ' Text
+'=' Operator
+' ' Text
+'schemeManagerGetDefault' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'schemepaths' Name
+':' Punctuation
+' ' Text
+'array' Keyword.Type
+'[' Operator
+'0' Literal.Number.Float
+'..' Punctuation
+'1' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'cstring' Name
+']' Operator
+' ' Text
+'=' Operator
+'\n ' Text
+'[' Operator
+'cstring' Name
+'(' Punctuation
+'os' Name
+'.' Punctuation
+'getApplicationDir' Name
+'(' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'styles' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+']' Operator
+'\n ' Text
+'schemeMan' Name
+'.' Punctuation
+'setSearchPath' Name
+'(' Punctuation
+'addr' Keyword
+'(' Punctuation
+'schemepaths' Name
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'scheme' Name
+' ' Text
+'=' Operator
+' ' Text
+'schemeMan' Name
+'.' Punctuation
+'getScheme' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'colorSchemeID' Name
+')' Punctuation
+'\n \n ' Text
+'# Window' Comment
+'\n ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+' ' Text
+'=' Operator
+' ' Text
+'windowNew' Name
+'(' Punctuation
+'gtk2' Name
+'.' Punctuation
+'WINDOW_TOPLEVEL' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'setDefaultSize' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'winWidth' Name
+',' Punctuation
+' ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'winHeight' Name
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'setTitle' Name
+'(' Punctuation
+'"' Literal.String
+'Aporia IDE' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'settings' Name
+'.' Punctuation
+'winMaximized' Name
+':' Punctuation
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'maximize' Name
+'(' Punctuation
+')' Punctuation
+'\n \n ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+' ' Text
+'# The window has to be shown before' Comment
+'\n ' Text
+'# setting the position of the VPaned so that' Comment
+'\n ' Text
+'# it gets set correctly, when the window is maximized.' Comment
+'\n \n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'destroy' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'destroy' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'delete_event' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'delete_event' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n ' Text
+'discard' Keyword
+' ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'signalConnect' Name
+'(' Punctuation
+'"' Literal.String
+'window-state-event' Literal.String
+'"' Literal.String
+',' Punctuation
+' \n ' Text
+'SIGNAL_FUNC' Name
+'(' Punctuation
+'aporia' Name
+'.' Punctuation
+'windowState_Changed' Name
+')' Punctuation
+',' Punctuation
+' ' Text
+'nil' Keyword.Pseudo
+')' Punctuation
+'\n \n ' Text
+'# MainBox (vbox)' Comment
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'MainBox' Name
+' ' Text
+'=' Operator
+' ' Text
+'vboxNew' Name
+'(' Punctuation
+'False' Keyword.Pseudo
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'win' Name
+'.' Punctuation
+'w' Name
+'.' Punctuation
+'add' Name
+'(' Punctuation
+'MainBox' Name
+')' Punctuation
+'\n \n ' Text
+'initTopMenu' Name
+'(' Punctuation
+'MainBox' Name
+')' Punctuation
+'\n ' Text
+'initToolBar' Name
+'(' Punctuation
+'MainBox' Name
+')' Punctuation
+'\n ' Text
+'initTAndBP' Name
+'(' Punctuation
+'MainBox' Name
+')' Punctuation
+'\n ' Text
+'initFindBar' Name
+'(' Punctuation
+'MainBox' Name
+')' Punctuation
+'\n ' Text
+'initStatusBar' Name
+'(' Punctuation
+'MainBox' Name
+')' Punctuation
+'\n \n ' Text
+'MainBox' Name
+'.' Punctuation
+'show' Name
+'(' Punctuation
+')' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'confParseFail' Name
+':' Punctuation
+'\n ' Text
+'dialogs' Name
+'.' Punctuation
+'warning' Name
+'(' Punctuation
+'win' Name
+'.' Punctuation
+'w' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Error parsing config file, using default settings.' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n \n' Text
+
+'nimrod_init' Name
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+'initControls' Name
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+'main' Name
+'(' Punctuation
+')' Punctuation
+'\n' Text