Here's the changes in my private build (f - feature, pkg - distribution package,
fix - bug fix, org - structure of the project, plat - platform-related stuff,
code - making the code better; build number after slash):
[f/20080525] Added:
Ctrl+3/Ctrl+4 and Tools Menu → Highlight Words
ignoring/not ignoring case. If there's selection, look for and highlight
all occurences of the text. Otherwise do this for the word at/before cursor.
Ctrl+Shift+4 cleans all highlights and marks from Ctrl+Shift+1/2/3.
[f/3015] Favorite files: via Lua, Ctrl+'. The list of full paths must be
in the global properties file in favorites.global.
[f/3015] Double click on the tab closes it (the same as the middle button).
Double click on free space in the tab bar opens a new tab.
[f/3014] The tab can be moved left/right (Buffers menu, Ctrl+Shift+F7/F8).
Changes to SciTE v.1.73.37Ru/TabsMoving — they don't cycle!
[plat] I built only with VC++ 6.0 for Windows. I removed most of the files not
related to Windows.
[pkg] See SciTEStartup.lua for many useful routines
(back_up, calculate_total, capitalize, current_word,
exec_lua, exec_python_and_replace, fill_rectangle,
find_next_function, find_prev_function, mark_text_?,
move_word_left, move_word_right, pop_mark,
push_mark, replace_version, sort_text,
tabs_to_spaces, toggle_bool etc). SciTEStartup.lua
[pkg] A few api files are provided: c.api, lua5.api,
python.api, scite.api. See also not_used.rar.
[pkg] The syntax aware lister for Total Commander is provided in the
binary directory. Files SciLister.wlx, SciListerReadMe.txt.
[f] The monofont mode is the default mode. SciTEBase.h
[f] I changed default key bindings. See kmap.txt
for all my key bindings. KeyMap.cxxSciTEProps.cxxSciTERes.rc
[f] In the Find dialog the default button can be Replace All (property
find.defbutton.replace.all=1) or if there's
a text region selected, Replace in Selection
(find.defbutton.replace.selection). The minimal size of selection
for the switching is the value of
find.defbutton.replace.selection. Obviously the
absence of this option or 0 turns this feature off. SciTEWinDlg.cxx
[f] If in the Find in Files dialog the Files field is empty, then the
current file is searched. It works for the internal search only.
SciTEWinDlg.cxx
[f] In LuaLexer: The ':' character is added to the word character set.
[f] The file history in the File menu shows files this way:
file --- directory. It's much easier to look for a file if the
names go first. Even better than File in Directory in the title. (Upd.
I changed this too: file[*] -- directory -- StiTE.)
I'd love to make the file extensions bold, but I doubt it's easy to do in the menu.
SciTEBuffers.cxx
[f] The Buffers menu shows files the same way as in the file history.
SciTEBuffers.cxx
[f] There's possibility to draw separators in the Tools menu between items,
added by the user with the command options in the properties files.
The name of the item, that should go after a serarator, must start with
'-'.
E.g. command.name.10.*=-&Insert File Name (This doesn't work
well for several (>2) separators. I don't know why.)
SciTEBuffers.cxxSciTE.h (IDM_TOOLS_SEP)
[f] The commands from the Tools menu are shown in the properties of the tabs,
so the separators are shown there too.
SciTEWinBar.cxx
[f] Multi-line descriptions in calltips (from M.Foral)
SciTEBase.cxx
[f] It's possible to add new commands and bind them to shortcuts w/o showing
them in the Tools menu. The configuration properties start with shortcut
and the system mimic the command system. The key is specified
with shortcut.key, and .name and .shortcut are
gone. For example: shortcut.key.1.*=Ctrl+; shortcut.1.*=do_some_stuff_in_lua shortcut.mode.1.*=subsystem:lua,savebefore:no SciTEBase.cxxSciTEBase.hSciTEBuffers.cxxSciTE.h (IDM_SHORT_KEY)
[f] The maximum number of Tools commands is increased to 80. The number of
menuless shortcuts is 100. The number of files in the file history is 20.
SciTEBase.h (toolMax, SHORTCUT_KEY_LIMIT, fileStackMax)
[f] SciTE can ignore the USERPROFILE directory and place all property files
in its home directory. ignore.userhome=1 rules it.
SciTEWin.cxx
[f] I use different layouts on my keyboard for plain keys and for control keys,
so it required some changes in SciTEWin.cxx and two properties were added:
keyboard.layout and keyboard.translate.ctrl.
Probably nobody else needs them.
SciTEWin.cxx
[f] The list of contributors is moved to contributors.htm. The About dialog
is also much simplier. SciTEBase.cxx
[f] All macro related stuff is gone - it's commented out using
"#ifdef IMPLEMENT_MACRO".
Let's wait till somebody implements macros in a proper way.
[f] Lua modified: os.execute( cmd_line [, start_path [, options]] )
See the CreateProcess function description for options. I also copied flags from
WinBase.h to liolib.c. E.g. 134217728 (0x08000000) is CREATE_NO_WINDOW -- good for
runnig cmd.exe. os.execute('cmd.exe /c dir >c:\\tmp\\dt','d:\\temp',134217728)liolib.c
[f] I don't use DirectorExtension so I didn't compile it.
[fix] Workaround for VC++ 6.0 was needed for DWLP_USER, GWLP_USERDATA,
GWLP_WNDPROC, LONG_PTR, DWORD_PTR, SetWindowLongPtr, GetWindowLongPtr.
Platform.h and probably some others
[org] Most (but I'm afraid, not all) of the places in the code I changed,
are marked with "G-:"
[org] There are still some scripts in scite\scripts\ but I didn't use them.
[org] Not used but potentially useful stuff was moved to not_used.rar arhives.
[org] Property files were moved to the bin directory.
[org] No embedded version of the editor (sc1).
[org] I left only two make files for scintilla and for scite and they are called
from the very root of the project tree, from build.bat. There's also
install.bat, which can do "installation" for you after the bulid,
and clean.bat which removes all the files created by build.
[org] There are obj dirs for object and pdb files.
[code] In some places the compiler warned about "no return" code. I rearranged
those code fragments and as a side effect, the code became clearer. Yes,
multiple returns are better then Pascal style ifs.
[code] MultiplexExtension.cxx: Got rid of Pascal style loops.