Some “minor” Editor Facilities
Some more advantageous means of serving, although minor, are made available through a careful attention to some repetitive actions or natural needs of comparison or data selection, tools and local information.
|
The Special symbols recognition
The Extended Characters_Table
The loaded_files interactive list

By the way, this represents the best lookout of those files that resulted changed, after a global Replacement through the Tabs.
Besides, as well as for the Tab selectors: Ctrl-Click a file name to put the FileName into the clipboard; Ctrl_Shift-Click a file name to put the full Path\FileName into the clipboard, with just one difference: clicking on TABs will select and access that file; clicking on the popup menu will get the data without changing the current focus.
Sequencing the Tabs
Special sort options
In the example below a list of links that is a page menu is selected for sorting. There are path\file names with different line length depending on HTML parameters: it is normally impossible to merely sort targets (this is not the case of Sequencing the Tabs, where this particular option is ready); our routine makes it possible and even very simple: once selected the menu area open the Sort popup menu and check the Character's occurrence option, then click |Sort by Name| command. This will open the "Sort selection" tab, allowing you to point out where to start the compare actions for each row. In our case, we need to sort the path\filenames to obtain an ordered menu, as long as it could be. For that select the first slash character in any row: this will teach the program to view every row as if it began from its first slash, no matter if the column (or byte position) is different each from the other.
As it can be seen in the image above, in the final sorted list a first “extraneous” line is put aside (unsorted if more than one) to the begin of the stream, while the other lines are sorted according to their file names, independently from any other content. Note that one line only holds the path "examples/" that is handled in this case as a part of the file name, due to the first slash taken as the sequence beginner.Difficult questions may turn to easier answers.
Sort modes referred to Filenames are available in the TABs order area only, as described above.
Let's suppose to need filenames sorted independently of paths then. If paths are equal in levels, where the subdirectories may be different but nested to the same descending degree, the last path delimiter can be set to sort from the beginning of each filename; but this is quite a rare case. For different in depth paths another very special option is ready: |get occurrence from the end of row|. This one must refer to Character's or String's occurrence setting, telling the routine to find the beginning byte(s) of the string to be compared, or the valid occurrence, starting search from the end of each line.
As it can be seen on the image to the right, the filename delimiter is the 2nd starting from the end of every referencing line, where the 1st belongs to the </A> closing tag; for that the row defining the background image "../images/paper.jpg" (no “HREF=”, no “/A”, therefore it should not be included in this list) results out of order, being sorted from the same delimiter position, which in this line includes the "/images" folder.
Obviously the filename sort is just an example, matching the above Tab Sequencing; these rules are applicable to any text that may take advantage from this feature.
Special symbols Enhanced viewing and typing.Besides some basic features applicable to any portion of code, like Stripping the text from Tags, Un-hyphenating it and the global extended characters and special symbols format conversion, a special attention has been payed to these. Two buttons are visible with the respective labels: |&euro;=&Euro;|, to restore all encoded characters to their ASCII symbol, and |&Euro;=&euro;|, to convert all extended characters to their HTML coded format. Since these two buttons are double (that is they can be split) click the right side of each to perform the conversions so that the whole button will be pushed. A first added chance to the best view of the special characters is given highlighting them in Italic style and with any of the four registered colors; Right-click the |€=&euro| button to get the choice. This rare option is completed with a command that forces the conversion of any string of characters into the above HTML format, which can be useful i. e. to disguise any e-mail address from normal encoding to one format which is not [normally] recognized by the various robots detecting any data from sites.
To handle every character not normally available on the keyboard a double Map-table is provided, which shows the ASCII characters from 128 to 255 plus four most used lower characters: ampersand, quotes, less and greater: every symbol can be clicked to be inserted into the text at the caret position, either by the entity name or the code number format.
This table can be opened in two interactive modes:
- click the |&euro;| button [left side] to open a Table whose buttons will insert into the text the entity, that is the character in HTML coded format;
- click the |€=| button [left side] to open a Table whose buttons will insert into the text the character in its true ASCII format.
Since the Map is the same, once opened you can switch from one format function to the other just clicking the matching button: the same applies to the font changes: at every command the table will show [or will be updated with] the characters available in the specific font, in the default font and size if no syntax colour is active, or those selected into the document by the caret position if the current frame is in syntax colour mode.
For immediate aid, in either cases the table's characters are displayed in two modes: as 3D buttons, to show those characters which can be HTML coded; as a flat button for those characters which cannot.
A hint for every character shows its ASCII code number, the HTML entity if exists, the character's name.
Listing and accessing the loaded files.
When to select each file on the tab Control becomes uneasy, due to an increased number of loaded files, quickly open the special files status popup menu (1) by Ctrl-G, or (2) stroking the shortcut menu key, if available on your keyboard, or even (3) from the main popup menu described below; this will display one whole or selected files list gathering various information about. The filenames are numbered (load or display order) but sorted by name; their numbers are visible when the file extension is known (default registered) or left blank, to help distinguish those accessory files not to be normally hyphenated (i. e.: *.js, *.css etc.); the modified files (whose state is still different from the disk version) are ticked, while those files that have been changed and saved (whose state is not currently different from the disk version then, but are made subject to undo-redo manipulations) are not, but are marked by one bar: | to replace the separator dot. The default language flag flanks the current file that could be hyphenated; a graphic pointer is used if the file type is unknown. Of course, every file can be accessed just clicking on.
You can have all files or just the modified ones listed: this apply both to all files and to a single group (filetype) selected by the "Show only" sub-menu, that offers the choice among all your registered extensions for the WWW or RTF active environment; to list only the modified *.xxx files, the file type must be set in advance. Added to this list may appear, shady but visible until next load, the not loaded files due of a previous command interruption by the user.
To simplify, this menu holds three unusual commands:
- display just the waiting files, those being currently modified, even if reset by the Undo command;
- display only those files matching a given (custom) extension; this can supply a good batch of a list;
- quiclky unload all the unchanged files, as it could follow a previous find/replace selection from disk.
Handling and sorting the frames' succession.
Suppose you have loaded 20 or more files; it may become difficult to handle them, and switch from each to other looking for everyone between all those Tabs. The last command of the popup menu helps you to arrange the order and group those files to meet the need of the moment.
In a very simple but sophisticated way, it opens a special frame with the editable list of all the loaded path\files, which not only you can move manually, but sort and distribute according to various criteria, both general and specific: at first they can be sorted by Name, Path and Extension, independently of their length. As well as any text selection, thus excluding the Path and Extension options, they can be sorted starting from a defined column too, that is the N.th byte, where the caret is placed in any row; this will become the predefined start point where to compare all the strings from and will fix the area to be sorted
As a dynamic choice, you can sort all the lines starting their comparison from one variable point in each one, that is the matching position of a selected word in that row. This will bring the collateral effect to gather to the end of the list all those lines containing the reference string; for other sort scopes and combined with the automatic extraction of the selected text this feature may reveal to be unique.
Although the same applies to one single byte, the "Set characters occurrence in rows" command is added to allow the quick placement of the caret bofore any character, with no need to highlight it.
Why "occurrence in row"? If the selected word or character are present more than one time into the same row, the program will refer to the same occurrence of the string into all rows; in lack of such occurrence the row will be considered as null and put unsorted to the beginning of the list.
Once set the files, or the TABs headers, in the desired order, click the |Save| command to update the frames distribution; to exit without changing the current setting click |Close| or just change Tab, and the "TABs' order" frame will disappear.
Sorting Text areas.
The Sort features described herewith are available from the Quick-Edit popup menu too, and apply to any file into the View-Editor. The Sort popup menu, that can also be opened by Ctrl-Shift_O, allows to check/uncheck 8 sort options without closing, for to execute one of the available sort commands then. Briefly, apart the column number, that may be fixed as the starting point on every row, the choice of a byte or a string is completely dynamic; the referencing byte or string may occur in any position of the each row, setting the byte where the rows are compared from. If more reccurrences of the same are available into the referencing row (where the string is highlighted), the same string occurrence will be searched into all the rows to be sorted; this can start from beginning as well as from the end of the row, as to the options set.
You may normally sort by Name or by Value, both depending from all the other checked options, either the whole text of a page, or a selected area with one premise: if a caret position must be set, to define the start column for one of the three last options (set Column, set Character, set String), if it deals with a selected area this will be immediately copied and pasted to a new frame in order to separate it from the whole text, thus allowing to place the caret where needed or select (highlight) the string of your choice, preserving the selection.
Once sorted (or edited) and approved, the |Save| command will replace the original stream with the new one, closing the temporary frame; you may click |Close| or just change Tab if you want to quit.
Separating the selection to edit may aid your attention to focus on details without errors; however this process is automatic, therefore it does not require any additional work.
Sorting by Value means sort lines with numbers at the column position. 1 is the default column, but you can put the cursor anywhere: from that point of each row the line value will be stored until the first non numeric character is found, no matter if they are in numerical colum; leading spaces are allowed however. "32oops" value is 32, like "32o43ops", and "123number" is obviously greater than "99words", but less than "11199oops". Sorting by Name would be quite different. If you set the 4th column, "32o43ops" will be greater than "11129oops", as 43 is greater than 29.

A last minute sample?
| | |
Creating the special Font list for the next page of this tutorial, after several choices, tests and replacements, the final list had to be alphabetically ordered, starting from a such uninterrupted stream, thus necessary to the JavaScript file:
<div class =\"menuitems\" url =\"JavaScript: SetFont('SCRI')\" onMouseOver =\"window.status ='';return true\" onMouseOut= \"window. status ='';return true\">Font Scriptoria</div><div class =\"menuitems\" url =\"JavaScript: SetFont('ANTI')\" onMouseOver= \"window.status ='';return true\" onMouseOut =\"window.status ='';return true\"> Font Amano</div><div class =\"menuitems\" url =\"JavaScript: SetFont('COPP')\" onMouseOver =\"window.status ='';return true\" onMouseOut =\"window.status ='';return true\" >Font Marydale</div><div class= \"menuitems\"url=\"JavaScript: SetFont('SEAG')\" onMouseOver=\"window.status='';return true\" onMouseOut =\"window.status =''; return true\">Font Seagull</div><div class =\"menuitems\" url =\"JavaScript: SetFont('BOTO')\" onMouseOver =\"window.status='';return true\" onMouseOut =\"window.status ='';return true\">Font Boton</div><div class=\"menuitems\"url=\"JavaScript: SetFont('VIVA')\"onMouseOver =\"window.status='';return true\" onMouseOut = \"window.status ='';return true\">Font Vivaldi</div><div class =\"menuitems \" url=\" JavaScript:SetFont('STRI')\" onMouseOver=\"window.status='';return true\" onMouseOut=\"window.status='';return true\">Font Strider</div>
A similar action is normally not so fast: every Font line needs to be manually split, where the minimum byte error will hang the script; and the sort order itself does not promise a cheaper solution when the involved lines are numerous.
With the hyphenator-Pro I just had:
- to find out the virtual line separators as "</div><div class", to be temporarily replaced with the equivalent"</div>/@<div class", that introduced a Line Feed (/@) to split each line;
- to Sort the 7 resulting lines selecting the reference String Font From the End of each row and
then
- restore the "</div>/@<div class" to "</div><div class", resetting all to a single whole line.
The ordered Font list could be so well replaced.
|