Mitchell's SciTE Tools Copyright (c) 2006-2008 Mitchell Foral. All rights reserved. SciTE-tools homepage: http://caladbolg.net/scite.php Send email to: mitchellcaladbolgnet All Lua and Ruby scripts are copyrighted by Mitchell Foral. Permission is granted to use, copy, modify, and distribute these files provided credit is given to Mitchell. Check CHANGELOG.txt for recent updates. THIS IS THE DYNAMIC LEXER VERSION OF SCINTILLA/SCITE. IF YOU WANTED THE STANDARD VERSION, THIS ISN'T IT. Repository Structure: / contains my Lua startup script and custom properties files. lexers/ contains dynamic language lexers. scripts/ contains a multitude of Lua scripts as modules. src/ contains customized Scintilla/SciTE code (as of 2008.08.12 CVS). Installation: All of these files should go into the SciteDefaultHome directory, typically located: Linux - /usr/share/scite-st Windows - c:\Program Files\SciTE-st\ Note in Linux if you change the directory, you must also change the SYSCONF_PATH in src/scite/gtk/makefile and recompile. Binaries: Platform-specific, custom binaries are located here: http://code.google.com/p/scite-tools/downloads/list Download the newest appropriate archive, unpack it, and move its contents into the SciteDefaultHome directory mentioned above. Read the 'Requirements' section of lexers/lexers_doc.txt to finish the install. Customizations: scintilla/ * Dynamic lexer that replaces Scintilla's standard ones. * AutoCSeparator is '|', not '?'. * Added new messages: - SCI_GETLEXERLANGUAGE(, const char* languageName) Returns the name of the lexer currently loaded. - SCI_GETSTYLENAME(, const char* styleName) Returns the name of the style under the caret. * Removed some default key commands: Ctrl+L, Ctrl+Shift+L, Ctrl+T, Ctrl+Shift+T, Ctrl+D, Ctrl+U, Ctrl+Shift+U. scite/ * Added new Lua Extension functions: - scite.GetClipboardText() Returns the contents of the clipboard. * Max of 100 commands on the Tools menu (instead of 50). * Literal newlines ('\n') can be used in api files. * Added new properties: - lexer.lua.script The path to lexers/lexer.lua, the script that loads and runs dynamic language lexers. - lexer.lua.home The path to lexers/, the directory that contains dynamic language lexers. - lexer.lua.color.theme The color theme to use (located in lexers/themes/). - decoder.lua.script The path to scripts/scite/decoder.lua, the script that returns a filename, line, and column parsed from a double-clicked line in the output pane. - fold.by.indentation If true and no folder exists for the current lexer, the document is folded by indentation level. * Auto-XML completion has been disabled. Use the modules.scite.editing.enclose('tag') function. * Output-pane double-clicking handled by the decoder.lua script located in scripts/scite/. Usage Notes: I run SciTE in Linux, so if you are running in Windows and use extension.lua, you must change the PLATFORM variable in it to 'windows'. This will ensure all platform-specific operations will be executed correctly. If you are not using extension.lua, define a global PLATFORM variable with 'windows' as its value. Generally all platform-specific options are set properly for your platform based on PLATFORM, which does not need to be redefined in every script because its local value is inherited from the global value, but if unexpected problems occur, be sure to re-check those options. Some Lua scripts (in particular snippets.lua) utilize the Ruby programming language. If it is not installed on your system, you can get it from http://ruby-lang.org. If key commands are not working expected, check key_commands.lua (in scripts/scite/) and make sure the ALTERNATIVE_KEYS flag is set to false. I occasionally forget to reset the flag when I commit. Styling information is contained WITHIN the lexers. Styling info in properties files is completely ignored. If you wish to change styles, edit the lexers. Note however that most default styles are contained in lexer.lua and used by a majority of the lexers for convenience. If styling for a particular language doesn't appear to be working, make sure the properties file specifies a lexer that EXISTS in lexers/. For example, PHP needs the php lexer, not hypertext; this must be changed in SciTE's html.properties. Additional Documentation: * Documentation for dynamic lexers is in /lexers/lexers_doc.txt. I strongly encourage you to read it. * Snippets and key commands documentation can be found in scripts/doc/. * Each of the Lua modules has inline documentation for every function and the LuaDoc can be found at: - http://caladbolg.net/luadoc/scite-st/index.html