GSA Lister Plugin (source code viewer)
Moderators: Hacker, petermad, Stefan2, white
GSA Lister Plugin (source code viewer)
Lister plugin for the Total Commander file manager. This plugin is a source code viewer with highlighting and some minimal editing features. It is based on scintilla and delphisci delphi component.
available at: http://sourceforge.net/projects/gsalister
I developed this plugin for myself. So at this point i consider the development paused, but if it fit other peoples need and more than 2-3 people want to use it... i will do my best to improve it.
available at: http://sourceforge.net/projects/gsalister
I developed this plugin for myself. So at this point i consider the development paused, but if it fit other peoples need and more than 2-3 people want to use it... i will do my best to improve it.
Last edited by darkz on 2007-06-01, 11:37 UTC, edited 1 time in total.
Hi.
Very nice plugin I must say. Seems faster than SynPlus as far as I tested.
However, why don't you provide a proper detect string for certain extensions?
. Installers suck, and besides that, TC provides means for automated installation from within zip archives.
Editing is possible only when opening a file from an already opened Lister window. Wouldn't be a better solution to implement a hot-key (F4) that toggles editing on/off?
Very nice plugin I must say. Seems faster than SynPlus as far as I tested.
However, why don't you provide a proper detect string for certain extensions?
You may skip this onereadme.txt wrote:Todo:
--------
- installer (inno based)

Editing is possible only when opening a file from an already opened Lister window. Wouldn't be a better solution to implement a hot-key (F4) that toggles editing on/off?
TC for Linux please!
I can't make it work.
When I installed it in my TC, it wasn't even loaded (or was immidiately unloded).
Then I installed it in almost clean TC7 RC1. I got:
Next TC version - 7.0 PB4 which looks totally clean. The plugin doesn't load.
When I installed it in my TC, it wasn't even loaded (or was immidiately unloded).
Then I installed it in almost clean TC7 RC1. I got:
Now I can't reproduce the crash because TC either doesn't load it ( or unloads it )...Crash in plugin GSALister.wlx. External exception ??????
Next TC version - 7.0 PB4 which looks totally clean. The plugin doesn't load.
- sqa_wizard
- Power Member
- Posts: 3893
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
2m^2 : ReadMe.txt says :

Code: Select all
9. Copy "pcre.dll" and "SciLexer.dll" in system32 or in any folder on the search PATH.

#5767 Personal license
sqa_wizard wrote:2m^2 : ReadMe.txt says :
Code: Select all
9. Copy "pcre.dll" and "SciLexer.dll" in system32 or in any folder on the search PATH.

Very nice plugin.
Question: Your pcre conflicts with the one I use. Can I use not modded pcre 6.4 instead of yours?
ADDED: Suggestion: you have a lot of unused things inside this plugin (Resources for sure. Also debug info. I think that also some code). Could you please clean it up before the final release?
Last edited by m^2 on 2007-05-24, 12:15 UTC, edited 1 time in total.
Very nice plugin!
My requests:
1. Make it possible to turn the text cursor off, so that pressing cursor arrow keys scrolled the whole document instead of just moving the cursor.
2. Add customizations - at least, for fonts and colors.
My requests:
1. Make it possible to turn the text cursor off, so that pressing cursor arrow keys scrolled the whole document instead of just moving the cursor.
2. Add customizations - at least, for fonts and colors.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
woohoo .. a lot of feedback here, thx guys.
- Regarding of different pcre versions i guess any newer version should do, but i never tried myself so i will try for first to differentiate the dll somehow, ex. change the name.
- Regarding the unused code, debug version, etc ... true, there is room for optimization of the dll size and load time.
- as for the other suggestions i will try to implement from them as soon as possible.
- Regarding of different pcre versions i guess any newer version should do, but i never tried myself so i will try for first to differentiate the dll somehow, ex. change the name.
- Regarding the unused code, debug version, etc ... true, there is room for optimization of the dll size and load time.
- as for the other suggestions i will try to implement from them as soon as possible.
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Can you try to load the dlls from the same directory as the plugin itself? Just use dynamic loading via LoadLibrary and GetProcAddress instead of static linking. To get the path of your plugin, you can use GetModuleFileName() with the handle of your dll. This way you will avoid any conflicts with equally named dlls in system32 (the so-called DLL hell).Regarding of different pcre versions i guess any newer version should do, but i never tried myself so i will try for first to differentiate the dll somehow, ex. change the name.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Question:
How can i enable the "options->show text cursor" menu item, and also how can i sense in the plugin when the user click there?
Also after some work on the project i come to this:
Suggestion points (no particular order):
========================================
1. "Editing is possible only when opening a file from an already opened Lister window. Wouldn't be a better solution to implement a hot-key (F4) that toggles editing on/off?"
2. "Make it possible to turn the text cursor off, so that pressing cursor arrow keys scrolled the whole document instead of just moving the cursor"
4. "scroll page down with space, just as lister does"
5. "Question: Your pcre conflicts with the one I use. Can I use not modded pcre 6.4 instead of yours? "
6. "Suggestion: you have a lot of unused things inside this plugin (Resources for sure. Also debug info. I think that also some code). Could you please clean it up before the final release?"
7. "Add customizations - at least, for fonts and colors."
8. "extendable highlighters set"
9. "in search, shortcut for moving to the next match"
Resolved poits and new features at this time:
=============================================
1.Added shortcuts (p.9,p.1)
- CTRL+N incremental search, search next
- CTRL+P incremental search, search previous
- CTRL+SHIFT+R incremental search, search with regex (toggle)
- CTRL+SHIFT+H incremental search, highlight search (toggle)
- CTRL+O open file
- CTRL+S save file (if not readonly)
- CTRL+SHIFT+W editor word wrap (toggle)
- CTRL+R readonly (toggle)
2.Space now scroll down the document if document is readonly (p.4)
3.Added "Highlighter settings" (partial) (p.7,p.8 )
Considerations:
===============
1. "Highlighter settings" come with 2 problems.
1.1. if external highlighter file "highlighter.cnf" is used the plugin load time increase (on my computer with 500ms) if the plugin does not see this file the load time will be the same as before, so if you want faster loading time then you should delete the "highlighter.cnf" and do not use this feature. If some major customizations needed you can always compile it in the project, or ask me to do it for you.
1.2. the "Delphi Scintilla Interface Components" are very nice but i found some bugs when you add or delete languages. I have to spend some time on that code or ask the original author to do it. Until then adding/deleting new languages is buggy in conjunction with the language manager and language selector, sorry...
2. Regarding PCRE dll, Ghisler suggested to use dynamical loading. The idea is good but for this i need to rewrite the "PCRE import unit for Delphi 7 and PCRE Wrapper for Delphi 7". I need to branch a lot of code here since some of my work in this lister is used in another projects (where i can not modify the PCRE Wrapper), this in theory is a small thing, but i kill the code re usability if i do so...
Todo:
=====
1. correct the "Delphi Scintilla Interface Components" language manager behavior on add/remove languages
2. pcre conflict.
How can i enable the "options->show text cursor" menu item, and also how can i sense in the plugin when the user click there?
Also after some work on the project i come to this:
Suggestion points (no particular order):
========================================
1. "Editing is possible only when opening a file from an already opened Lister window. Wouldn't be a better solution to implement a hot-key (F4) that toggles editing on/off?"
2. "Make it possible to turn the text cursor off, so that pressing cursor arrow keys scrolled the whole document instead of just moving the cursor"
4. "scroll page down with space, just as lister does"
5. "Question: Your pcre conflicts with the one I use. Can I use not modded pcre 6.4 instead of yours? "
6. "Suggestion: you have a lot of unused things inside this plugin (Resources for sure. Also debug info. I think that also some code). Could you please clean it up before the final release?"
7. "Add customizations - at least, for fonts and colors."
8. "extendable highlighters set"
9. "in search, shortcut for moving to the next match"
Resolved poits and new features at this time:
=============================================
1.Added shortcuts (p.9,p.1)
- CTRL+N incremental search, search next
- CTRL+P incremental search, search previous
- CTRL+SHIFT+R incremental search, search with regex (toggle)
- CTRL+SHIFT+H incremental search, highlight search (toggle)
- CTRL+O open file
- CTRL+S save file (if not readonly)
- CTRL+SHIFT+W editor word wrap (toggle)
- CTRL+R readonly (toggle)
2.Space now scroll down the document if document is readonly (p.4)
3.Added "Highlighter settings" (partial) (p.7,p.8 )
Considerations:
===============
1. "Highlighter settings" come with 2 problems.
1.1. if external highlighter file "highlighter.cnf" is used the plugin load time increase (on my computer with 500ms) if the plugin does not see this file the load time will be the same as before, so if you want faster loading time then you should delete the "highlighter.cnf" and do not use this feature. If some major customizations needed you can always compile it in the project, or ask me to do it for you.
1.2. the "Delphi Scintilla Interface Components" are very nice but i found some bugs when you add or delete languages. I have to spend some time on that code or ask the original author to do it. Until then adding/deleting new languages is buggy in conjunction with the language manager and language selector, sorry...
2. Regarding PCRE dll, Ghisler suggested to use dynamical loading. The idea is good but for this i need to rewrite the "PCRE import unit for Delphi 7 and PCRE Wrapper for Delphi 7". I need to branch a lot of code here since some of my work in this lister is used in another projects (where i can not modify the PCRE Wrapper), this in theory is a small thing, but i kill the code re usability if i do so...
Todo:
=====
1. correct the "Delphi Scintilla Interface Components" language manager behavior on add/remove languages
2. pcre conflict.
Version 1.01 released. I hope you enjoy the new release.
1. Added shortcuts (p.9,p.1)
- CTRL+N - incremental search, search next
- CTRL+P - incremental search, search previous
- CTRL+SHIFT+R - incremental search, search with regex (toggle)
- CTRL+SHIFT+H - incremental search, highlight search (toggle)
- CTRL+O - open file
- CTRL+S - save file (if not readonly)
- CTRL+SHIFT+W - editor word wrap (toggle)
- CTRL+R - readonly (toggle)
- F6 - emulate show/hide cursor total commander lister feature (partial)
- F7,F3 - find (Total Commander style)
- F5 - find/find next (Total Commander style)
2. Space now scroll down the document if document is readonly (p.4)
3. Added "Highlighter settings" (p.7,p.8 ) Note: loading external highlighter settings will increase the plugin load time, so if no user settings is needed just delete or rename the "highlighter.cnf" file and consider this feature inexistent.
4. Renamed "pcre.dll" to "dpcre45.dll" to avoid conflicts.
5. Removed debug informations from GSALister.dll.
1. Added shortcuts (p.9,p.1)
- CTRL+N - incremental search, search next
- CTRL+P - incremental search, search previous
- CTRL+SHIFT+R - incremental search, search with regex (toggle)
- CTRL+SHIFT+H - incremental search, highlight search (toggle)
- CTRL+O - open file
- CTRL+S - save file (if not readonly)
- CTRL+SHIFT+W - editor word wrap (toggle)
- CTRL+R - readonly (toggle)
- F6 - emulate show/hide cursor total commander lister feature (partial)
- F7,F3 - find (Total Commander style)
- F5 - find/find next (Total Commander style)
2. Space now scroll down the document if document is readonly (p.4)
3. Added "Highlighter settings" (p.7,p.8 ) Note: loading external highlighter settings will increase the plugin load time, so if no user settings is needed just delete or rename the "highlighter.cnf" file and consider this feature inexistent.
4. Renamed "pcre.dll" to "dpcre45.dll" to avoid conflicts.
5. Removed debug informations from GSALister.dll.
Please add a link to your first posting, the block is over... 
Also you should contact Ergo for an account on totalcmd.net. This way the plugin will spread much faster and is easier to update:
http://ghisler.ch/board/viewtopic.php?t=8007
Missing in your archive is the pluginst.inf file for automatic installation in TC, it should look like that:
Usability problems:
Copying dpcre45.dll and SciLexer.dll to system32 is not acceptable, please load from same directory.
You need to forward all standard lister hotkeys to the parent, right now it's not possible to switch plugin by pressing "4".
Icfu

Also you should contact Ergo for an account on totalcmd.net. This way the plugin will spread much faster and is easier to update:
http://ghisler.ch/board/viewtopic.php?t=8007
Missing in your archive is the pluginst.inf file for automatic installation in TC, it should look like that:
Code: Select all
[plugininstall]
description=GSALister: source code viewer with syntax highlighting and some minimal editing features
descriptiondeu=GSALister: Quellcode-Betrachter mit Syntax-Hervorhebung und einigen minimalen Bearbeitungsfunktionen
type=wlx
file=GSALister.wlx
defaultdir=GSALister
Copying dpcre45.dll and SciLexer.dll to system32 is not acceptable, please load from same directory.
You need to forward all standard lister hotkeys to the parent, right now it's not possible to switch plugin by pressing "4".
Icfu
This account is for sale
Version 1.02 released.
1. Now the installation can be done using Total Commander automated installation from within zip.
2. The lister now try to load the dpcre45.dll and SciLexer.dll first from the plugin directory (finally
).
3. Added/forwarded shortcuts:
- F2 reload file
- 1,2,3,4,5,6,7 (only forwarded when the file is in Read Only state)
4. Bugfixes.
1. Now the installation can be done using Total Commander automated installation from within zip.
2. The lister now try to load the dpcre45.dll and SciLexer.dll first from the plugin directory (finally

3. Added/forwarded shortcuts:
- F2 reload file
- 1,2,3,4,5,6,7 (only forwarded when the file is in Read Only state)
4. Bugfixes.