🏠

The Semware Editor

In Development

SynCase v8
No downloadable development version yet
3 Apr 2024
No determined compatibility yet.

SynCase v7 updates the case of a text's words to the case of keywords in TSE's syntax hiliting definitions.

SynCase v8's additional goals:

  • Make TSE updates not overwrite SynCase's syntax hiliting.
  • Make TSE's syntax hiliting more easily maintainable thru text files.
  • Optionally make those text files automatically updatable from "distro" files automatically downloaded from my website.
  • Remove the capability to set non-keywords to upper or lower case.


Mock-up of new SynCase menu:

 +------------------------------------------------------------+
 |Actions                                                     |
 |  Help                                                      |
 |  Case the whole current buffer                             |
 |------------------------------------------------------------|
 |Settings                                                    |
 |  Language [                                            sal]|
 |    Should its .syncase file                                |
 |      Duplicate TSE's syntax hiliting definitions      [Yes]|
 |      Case the language's keywords                     [Yes]|
 |    Should its .syncase_distro file                         |
 |      Add    new      keywords   to the .syncase file  [Yes]|
 |      Update existing keywords   in the .syncase file  [Yes]|
 |      Renove obsolete keywords from the .syncase file  [Yes]|
 |      Itself be updated [                     Automatically]|
 |    Show its settings log file ...                          |
 +------------------------------------------------------------+
               

v4.0.0.7
11 Mar 2024
Windows TSE v4.50 rc 18 upwards (to be expanded),
Linux TSE v4.50 rc 18 upwards (not expandable).

"DirList41" is the development version of the future "DirList" v4.1.

New so far:

  • In Windows DirList is now default independent of its environment's language settings.
    This is achieved by retrieving link targets with Windows functions instead of dir commands.
    This is a major step forward, even if it did create new loose ends.
    Example loose ends:
    - Link targets starting with weird prefixes.
    - The Windows functions and the dir command each do not retrieve some of the other's details. The now default Windows functions do not retrieve some details of the link type. So I will still have to apply the dir command too for those languages for which the dir output can be interpreted.
  • Gained a small but significant speed optimization by optimizing BigInt.
    The access status column is now an access error column. Therefore when there is no error, "ok" is replaced by "-". When sorting this sorts all access errors together.
    The "no link" indicator was changed from "." to "-". It subjectively looks better, and "-" is in my TSE WordSet, which helps accessing the column.
    DirList's speed was increased again by only retrieving link targets for the link types that have them: junctions and symbolic links.
    The --alllinktargets parameter generates the old list.
    The --folowlinks parameter makes DirList list the child objects of directory links again. This is not recommended.
  • Links are no longer followed.
    This greatly reduces the run time and list size, and linked subdirectories are no longer counted multiple times in a common parent's directory size.
    The following of links will later become a non-default option.
  • The link type column was condensed to be smaller.
  • The column for TSE accessility is now a string indicating a reason.
  • A link indicator (Linux) or type (Windows) column was added. Windows has a lot of link types.
  • Windows: For junctions and symbolic links the link type and the link's target is now shown. It is shown between square brackets after the name, like "dir /al" does.

Still todo for DirList v4.1:

  • Lots of (hopefully small) loose ends.

20 Oct 2023

DirList → Test → DirList → Unibrowse → Remote editing

One thing is leading to another, again.

Initially I just wanted to implement remote editing for the HTTP(S) and SSH protocols.

However, remote filenames can contain Unicode characters too, and TSE does not natively support them. So I researched if it would make sense to make the new functionality part of the existing UniBrowse extension, which for one handles local filenames that possibly contain Unicode characters. My conclusion is that it does. The Unibrowse extension also implements browsing directories and files that are extended with alternate data streams. In examining the UniBrowse extension I was confronted with my earlier design choice to implement listing and accessing "Unicode names" and alternate data streams with Dos commands instead of Windows APIs. Some googling to revisit that decision this time turned up Windows APIs that do not seem too hard. Using Windows APIs would speed up Unibrowse immensly and make it a lot more robust. Before committing to a big tool like UniBrowse, it makes sense to first try these new APIs in a limited tool like DirList. And before that an even more limited test macro to just test if using these APIs from TSE actually works.

So here I currently am, updating DirList, to later write a test macro testing Windows file APIs, to maybe later rewrite DirList to use them, to maybe later rewrite UniBrowse to use them, and to maybe eventually extend UniBrowse with remote editing capabilities.

And here I am again, contemplating rewriting another core part of the editor using its macro language, this time its file handling. I am aware of the absurdity.

eHelp

Because TSE's Help has not been properly maintained since TSE 4.4 was released in 2005, I want to be able to add my own notes to TSE's Help or even edit a copy of it, to enable others to do the same, and to provide a way to easily exchange them.

!!! Extending TSE's Help with eHelp is still in development !!!

  • (15 Oct 2023) eHelp is now a low-priority project.

  • (15 Oct 2023) Blog about implementing TSE's extended Help.

  • (23 Mar 2023, v0.22) eHelp.zip
    Easy installation and update:
    • Extract the eHelp.zip file to TSE's root directory, including extracting subdirectories to subdirectories.
      If your extract-tool did so, it will immediately place eHelp.zip's 6 files in their correct 3 subdirectories.
      Otherwise read the installation instructions in eHelp.s.
    • Open "mac\eHelp.s", and compile and execute it.
    • <Escape> the configuration menu.
    • Done!
    • To check: Go to TSE's Help, look up AbandonEditor(), and for example use <Alt N> and <Alt P> to switch between .ehelp files.
    Functionality:
    • A tsehelp.ehelp copy of TSE's built-in Help is generated and kept up-to-date automatically.
    • The top left corner of a Help screen shows
      • no name if TSE's built-in Help is shown,
      • "tsehelp" if the eHelp copy of TSE's built-in help is shown,
      • otherwise the name of the .ehelp file that is shown.
    • If a topic occurs in multiple .ehelp files, then you can switch between .ehelp files with these keys: <Alt GreyCursorLeft>, <Alt GreyCursorRight>, <Alt CursorLeft>, <Alt CursorRight>, <Alt P>, <Alt N>.
    • Currently tsehelp_eCarlo.ehelp makes this possible for about 159 topics.
    • You can create and edit your own tsehelp_<name>.ehelp text files, and configure eHelp to use them.
    • During editing .ehelp files will be syntax hilited, and their line-drawing, shadow, and block characters will be shown.
    • Saving a .ehelp file syntax checks it, still roughly.
    This is still far from a finished product!
    Read the blog for status and plans.

  • (3 Sep 2022) Preliminary brainstorm about extending TSE's Help.

I welcome suggestions and criticisms!


These webpages are created and maintained with The SemWare Editor Professional