syn Version 1.3.1Copyright ⌐ 2000 - 2001, Ascher Stefan
|
This Program is FREEWARE. You are allowed to use and distribute syn for free, but you are NOT allowed to sell syn for profit. You are using syn at your own risk, no responsibility is taken for damages to your computer system. This Program is a very simple Fileeditor with Syntaxhighlight support for over 30 different Languages. The Syntaxhighlight is fully customizeable and very fast, and it can handle large files with ease! This Program is based on the MDI Editor sample to the SynEdit Editor Component Suite, check it out: http://synedit.sourceforge.net/. If you want to link to syn use the button at the top of this page, the address is: http://www.codearchive.com/~stefan/eng/syn/index.html. Top
Files included in this zip-archive: O syn.exe - the programfile. O readme.htm - the readme file (this file). O syn.png - a button, if you wish to link to syn, made by Argantas. Top
Delete the files: O syn.exe O the readme file O optional Language Libraries O all links to this program you've created And the Registrykey (using regedit.exe): O "HKEY_CURRENT_USER\Software\Ascher\syn" with all it's subkeys. Top
The intention for writing this Program was to make a small and fast Syntaxeditor, and later to make a small and fast IDE like Program, not a replacement for Notepad. This is the reason for not supporting automatik Linebreak, like Notepad, as it is unusual for Programmingeditors. BTW. I like Notepad! I use this program mainly for Freeware compilers, different Scriptlanguages, but also for HTML Documents, if I have to edit some small things. Sure, it would be fine for HTML Documents, but this isn't a HTML Editor either. Run/Check: O If a project is opened, the Run and Check settings from the project are used, if not, the settings associated with the syntax sheme are used. O Program/Directory: Please do ONLY use short filenames (e.g. "D:\PROGRA~1\FILENA~1.EXE"), for the program, otherwise the program will be quiet confused. If you're using the Browse dialogs, the filenames will be automatically converted into the right format. This has the advantage that you can use a backslash behind the programfilename in the commandline, sometimes usefull if you want to pass a directory or anything similar to the program (e.g. a searchdirectory). The program has to extract the program file from the parameters, and it looks for a space to detect the end of the filename. O Compilermessage: There must be minimum 1 constant Character before AND behind the placeholders ("%f", "%l") if there is one present in the outputline. Some Examples (100 is everytime the linenumber): Opuputline Compilermessage "filename.ext(100)" -> "%f(%l)" (e.g. CSS) "filename.ext(100, 21)" -> "%f(%l," (e.g. Windows Scripting Host) "filename.ext(100,21)" -> "%f(%l," (e.g. Free Pascal) "filename.ext 100" -> "%f %l" "Error in filename.ext Line 100" -> "in %f Line %l" or " %f Line %l" O The placeholder "%f" represents either a filename with or without path. The current directory is set to the path from the file to run, so it will be found in any way, even if the outputline contains only the filename without the path. Don't mix up the current directory for this program and the workingdirectory for the called program. Each Process can have it's own workingdirectory. O Compiling a Java file using Sun's JDK (Java Development Kit): The commandline can look like this (you have to modify the paths): D:\PROGRA~1\JDK11~1.8\bin\javac.exe -O -deprecation -classpath "{$Doc}\;D:\PROGRA~1\JDK11~1.8\lib\classes.zip" -d "{$Doc}" "%Long1" "%Long1" represents the filename from the active document in LONG fileformat, because this program don't understands short filenames, this cost me a lot of thinking! For a description to the switches and parameters see the JDK documentation. Outputline can look like this: D:\Eigene Dateien\HP\chess\chess.java:344: ';' expected. c.CurrentY = cm[i].CurrentY ^ As Compilermessage you should use "%f:%l:" For the Jikes Java Compiler use as Compilermessage, the commandline is similar to the JDK Compiler: " %l." O Validating HTML documents using HTML Tidy (http://www.w3.org/People/Raggett/tidy/): Make a configurationfile called config.txt located in the directory from the HTML Tidy programfile. Commandline (you have to modify the path): D:\EIGENE~1\VBPROJ~1\SEdit\tidy\tidy.exe -config config.txt -m %1 Compilermessage: "line %l column" O Compiling Resource Scrips using (Microsoft's) RC.EXE: Commandline (you have to modify the path): D:\Tools\RC.EXE /v /i {Some include paths} %1 Compilermessage: "%f(%l)" Delphi Form files Delphi Form files (*.dfm) are displayed as Textfiles, even if it's a binary file. Is it a binaryfile it will be automatically converted, so you can read it. When you've opened such a file, and you save it, it will be converted back into a binary file. You wont see whether it's a textfile or a binary file. Commandline Switches: O -p Prints the given file(s) to the default printer, and closes the program, just like Notepad. Tools: It's possible to have custom Tools, which you can call via the Tools Toolbar or the Tools Menu. You can either launch a Program, execute an Editcommand or insert a String with a Tool. You can assign a Shortcut to each Tool (and to each Toolbar- and Menuitem) with the Customizedialog. O Launch a Program: Use "Launch Program" as Toolkind, and choose the Program, and the Workingdiretory for this Program. This calls only the ShellExecute API function. O Execute an Editcommand: Use "Execute Editcommand" as Toolkind, and choose from the dropdown combobox the Editcommand to execute. O Insert a String: The string to insert can be a singleline or a multiline string. As Variable for the currently selected Text use {$Sel}. Use "Insert String" as Toolkind, and enter the Text to insert in the Textbox bellow. Example for inserting C/Java Brackets: { {$Sel} } Example for inserting HTML Comments: <!-- {$Sel} --> Projectoptions: O Why an Up- and Down-Button at the Filespage? Because the file at the bottom will be loaded as last file, and will be the active one. Monitor for external changes: This program is able to motinor opened files for changes made by an external program (default it's disabled). The program compares the last write date to detect whether the file has changed or not, not the string inside or the filesize. This means, you can save a file with another program without changes, and syn will do the requested action. This should be the way to notice the most changes, because you can have different files with exact the same filesize, and comparing the filecontents will take to much time and resources (the program have to open the file, read the content, and compare it). The program uses the "FindNextChangeNotification" API function in an external thread to detect changes in the directory from an opened document, and compares then the filedate. This thread isn't created when you've deactivated this feature. You have three options what this program should do in such a case: O Notify only: the program shows only a MessageBox. O Prompt to reload: the program asks you if the file should be reloaded, to get the newest version. Note: all made and not saved changes will go lost, if you reload the file. On the other hand if you save it before reloading, the made modifications from the external program will go lost. O Reload without prompting: the program reloads the file without to ask you anything, be careful with this, you meight be scared in such a case ;-). Top
There are different Language DLL's to provide this Program in different Languages. Currently available language is swedish, the baselanguage is english, so if you want to have this Program in english language you need no language DLL. To have a shwedish version, download the DLL, and put it in the same Directory as this Program. It will choose the right language according to your Systemlanguage at startup. If the Program finds at startup a DLL matching your Systemlanguage this DLL will be used, otherwise it used the build in language (english). The Program uses the Fileextension from the DLL to identify it's Language, so don't rename it, e.g. the file syn.SVE is the swedish Language DLL. Do not use older Language DLL's with a newer Program, this will cause some Accessviolations, do only use Language DLL's with the same Versionnumber as syn. You can see the Versionnumber from the Program in the Aboutbox, and from the DLL's rightclick in the Explorer -> "Properties" -> "Version" -> "Fileversion". Please do not compress this DLL's with UPX or any other Executables compressor, it won't work, I've tried it (AV's). To download a Language DLL refer to http://www.codearchive.com/~stefan/eng/syn/index.html Top
syn runs on Windows 95/98/ME/NT4/2000 and requires COMCTL32.DLL version 4.71 or higher. Windows 98, ME and 2000 already have this file in the correct version. If you are using Windows 95 or NT4 and don't have the file in the required version, you can download it at: http://support.microsoft.com/support/kb/articles/q186/1/76.asp. I don't want to make a Setup for this Program, because it uses only standart shared libraries, and it bloats the download unnecessarily up. Top
O No possibility to setup custom keywords and to make a custom Syntaxhighlight. O Automatic Linebreak only for Printing, not in the Editor. O Shortcuts are assigned to Buttons and Menuitems, so if you move a Tool up or down, the Shortcut will not move with the Tool, not really a bug, it's usual behavior, but you should know about this. O The Toolbars and Menus are not that customizeable, I would like to have it, customizesation at runtime like in Office 97. O Some problems with changing the case in columnselection mode, looks strange :-/. O No real support for large fonts. Please send Bugreports to stievie34@hotmail.com, thanks. Top
O Advanced Editor: O Syntaxhighlight currently for 35 languages, fully customizeable. O Unlimited Undo and Redo. O Bookmarks. O Customizeable Shortcuts. O Drag and Drop editing. O Export to UNIX, Mac, HTML, RTF and Import from UNIX and Mac. O Print and Printpreview in color. O Support for projectfiles. O Usefriendly and clean interface. O Drag and Drop support (open or insert files). O Ability to read and write Delphi binary form files. Top
O This program was written using Borlands (http://www.borland.com/) Delphi 5 (http://www.borland.com/delphi/). O Swedish Translation - Anders Persson (uap@hem.passagen.se). O SynEdit Editor Component - http://synedit.sourceforge.net/ There are to many contributors to list them here, please refer to the website to see them. O ToolBar97 - Jordan Russel (http://www.jrsoftware.org/). Used as Toolbars and for the dockable windows. O Consoleredirection - TGUI2CONSOLE from REDSYS Used to capture the output from consoleprograms. O CorelButton - Peter Theill, ConquerWare The flat buttons found in all dialogs. O Colorselector - Dipl. Ing. Mike Lischke (public@lischke-online.de, http://www.lischke-online.de/) Found in the options dialog. O MemProof to tedect all the Memory Leaks (http://www.poboxes.com/astoyanov/index.htm), I'm not used to deal with Memory Leaks, I come from VB ;-). O UPX (Ultimate Packer for eXecutable) - http://upx.tsx.org/ (1.8 MB -> 550 KB, cool!!!). If you don't want to have it compressed (there are some reasons) download UPX and uncompress it, you'll get a 1.8 MB file. O Programicon and Bitmap in the Abountbox - Mark Carson. O Made with syn Icon - Argantas (http://www.egarden.cz/~mud/). Top
Have a lot of fun Ascher Stefan Email: stievie34@hotmail.com Internet: http://www.codearchive.com/~stefan/index.html syn: http://www.codearchive.com/~stefan/eng/syn/index.html