#120987 - 2004-06-10 02:19 AM
Very good open source IDE for KiXtart
|
georger
Lurker
Registered: 2004-06-10
Posts: 1
Loc: Brazil
|
Large post, but I'm sure many of you will find it handy. Hi, I'm new no KiXtart. In fact, I've only been using it since last Friday, but as a seasoned batch/login script and VB programmer, it was very easy for me to learn KiXtart - not to mention it's so well-done, almost everything you could wish for is built right in. I had already heard about it and also read a bit, but never quite took the time to learn it. Talk about being sorry - I've had several scenarios in the past that I solved without KiX, just to see now that I could have solved them so much more easily with KiX! But let's get to business. As a guy who already programmed in several high-level languages, with great IDEs, debuggers, profilers and the like, I really couldn't stand writing my KiX scripts using Notepad or EDIT. I simply KNEW there had to be a better way. I browsed around and only found commercial editors, some looked really good, but all I wanted to do was to write KiX scripts, and wasn't really willing to shell out more than $30 to be able to do it the way I like - with syntax highlighting, automatic indentation, advanced editing and the like - and really didn't care about other functionalities. After a lot of research, I found this litlle gem of an editor called Scintilla Text Editor, os SciTE for short. It's open-source, free and of very high quality. Talk about cool! I run it alongside a command prompt and get great results. It really sped up my development - I wrote more code today than I did since last Friday, and my KiX logon script now weighs in 659 lines of code (the first 158 are Jens Meyer's IsInSubnet function - great work!). You can find Scintilla here. It's pretty raw when you first install it, but after you customize its Global Options File and kix.properties file, it's KiX heaven. As I have clients in several subnets, I also found it useful to compress my KiX program files (and several other programs) with UPX (get it here). I pasted my files below for your perusal. I'm sure many of you will love Scintilla!
SciTEGlobal.properties # Global initialisation file for SciTE # For Linux, place in $prefix/share/scite # For Windows, place in same directory as SciTE.EXE (or Sc1.EXE) # Documentation at http://www.scintilla.org/SciTEDoc.html
# Globals
# Window sizes and visibility #if PLAT_WIN # position.left=0 # position.top=0 #if PLAT_GTK # position.left=5 # position.top=22 #position.width=576 #position.height=740 position.tile=1 #full.screen.hides.menu=1 #minimize.to.tray=1 split.vertical=1 #output.horizontal.size=200 #output.vertical.size=60 #horizontal.scrollbar=0 #horizontal.scroll.width=10000 #output.horizontal.scrollbar=0 #output.horizontal.scroll.width=10000 #output.scroll=0 #end.at.last.line=0 tabbar.visible=1 tabbar.hide.one=1 tabbar.multiline=1 toolbar.visible=1 #undo.redo.lazy=1 statusbar.visible=1 #fileselector.width=800 #fileselector.height=600 #magnification=-1 #output.magnification=-1
# Sizes and visibility in edit pane line.margin.visible=1 line.margin.width=3+ margin.width=16 #fold.margin.width=16 #fold.margin.colour=#FF0000 #fold.margin.highlight.colour=#0000FF #blank.margin.left=4 #blank.margin.right=4 buffered.draw=1 #two.phase.draw=0 use.palette=0
# Element styles #view.eol=1 #control.char.symbol=. caret.period=500 view.whitespace=0 view.indentation.whitespace=1 view.indentation.guides=1 highlight.indentation.guides=1 #caret.fore=#FF0000 #caret.width=2 #caret.line.back=#FFFED8 #calltip.back=#FFF0FE edge.column=200 edge.mode=0 edge.colour=#C0DCC0 braces.check=1 braces.sloppy=1 #selection.fore=#006000 # DADADA used as background because it yields standard silver C0C0C0 # on low colour displays and a reasonable light grey on higher bit depths selection.back=#DADADA #whitespace.fore=#FF0000 #whitespace.back=#FFF0F0 #error.marker.fore=#0000A0 #error.marker.back=#DADAFF #bookmark.fore=#808000 #bookmark.back=#FFFFA0 #use.monospaced=1
# Checking are.you.sure=1 #are.you.sure.for.build=1 #quit.on.close.last=1 #load.on.activate=1 #save.on.deactivate=1 #are.you.sure.on.reload=1 #reload.preserves.undo=1 #check.if.already.open=1 default.file.ext=.kix title.full.path=1 title.show.buffers=1 save.recent=1 #save.session=1 open.dialog.in.file.directory=1 #strip.trailing.spaces=1 #ensure.final.line.end=1 #ensure.consistent.line.ends=1 #save.deletes.first=1 buffers=10 #api.*.cxx=d:\api\w.api #win95.death.delay=1000 #translation.missing=*** #read.only=1
# Indentation tabsize=4 indent.size=4 use.tabs=1 indent.automatic=1 indent.opening=0 indent.closing=0 #tab.indents=0 #backspace.unindents=0
# Wrapping of long lines #wrap=1 #cache.layout=3 #output.wrap=1 #output.cache.layout=3 #wrap.visual.flags=3 #wrap.visual.flags.location=3 #wrap.visual.startindent=4
# Folding # enable folding, and show lines below when collapsed. fold=1 fold.compact=1 fold.flags=16 fold.symbols=1 #fold.on.open=1
# Find and Replace #escapes.in.find.replace=1 # findstr is available on recent versions of Windows including 2000 if PLAT_WIN find.command=findstr /n /s $(find.what) $(find.files) #find.input=$(find.what) if PLAT_GTK find.command=grep --line-number "$(find.what)" $(find.files) find.files=*.c *.cxx *.h #find.replace.matchcase=1 #find.replace.escapes=1 #find.replace.regexp=1 #find.replace.regexp.posix=1 #find.replace.wrap=0 #find.replacewith.focus=0
# Behaviour #eol.mode=LF eol.auto=1 clear.before.execute=0 #vc.home.key=1 #wrap.aware.home.end.keys=1 #autocompleteword.automatic=1 #autocomplete.choose.single=1 caret.policy.xslop=1 caret.policy.width=20 caret.policy.xstrict=0 caret.policy.xeven=0 caret.policy.xjumps=0 caret.policy.yslop=1 caret.policy.lines=1 caret.policy.ystrict=1 caret.policy.yeven=1 caret.policy.yjumps=0 #visible.policy.strict=1 #visible.policy.slop=1 #visible.policy.lines=4 #time.commands=1
# Status Bar statusbar.number=4 statusbar.text.1=\ li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr) statusbar.text.2=\ $(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars. statusbar.text.3=\ Now is: Date=$(CurrentDate) Time=$(CurrentTime) statusbar.text.4=\ $(FileNameExt) : $(FileDate) — $(FileTime) | $(FileAttr)
if PLAT_WIN command.scite.help="file://$(SciteDefaultHome)\SciTEDoc.html" command.scite.help.subsystem=2 if PLAT_GTK command.print.*=a2ps "$(FileNameExt)" command.scite.help=netscape "file://$(SciteDefaultHome)/SciTEDoc.html"
# Internationalisation # Japanese input code page 932 and ShiftJIS character set 128 #code.page=932 #character.set=128 # Unicode #code.page=65001 code.page=0 #character.set=204 # Required for Unicode to work on GTK+: #LC_CTYPE=en_US.UTF-8
# Export #export.keep.ext=1 export.html.wysiwyg=1 #export.html.tabs=1 #export.html.folding=1 export.html.styleused=1 #export.html.title.fullpath=1 #export.rtf.tabs=1 #export.rtf.font.face=Arial #export.rtf.font.size=9 #export.rtf.tabsize=8 # Magnification (added to default screen font size) export.pdf.magnification=0 # Font: Courier, Helvetica or Times (Courier line-wraps) export.pdf.font=Helvetica # Page size (in points): width, height # E.g. Letter 612,792; A4 595,842; maximum 14400,14400 export.pdf.pagesize=595,842 # Margins (in points): left, right, top, bottom export.pdf.margins=72,72,72,72 export.xml.collapse.spaces=1 export.xml.collapse.lines=1
# Define values for use in the imported properties files chars.alpha=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ chars.numeric=0123456789 chars.accented=ŠšŒœŸÿÀàÁáÂâÃãÄäÅ寿ÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖØøÙùÚúÛûÜüÝýÞþßö # This is a better set for Russian: #chars.accented=ÀàÁáÂâÃãÄäÅå¨¸ÆæÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖö×÷ØøÙùÚúÛûÜüÝýÞþßÿ
# The open.filter setting is only used on Windows where the file selector has a menu of filters to apply # to the types of files seen when opening. # There is a limit (possibly 256 characters) to the length of a filter, # so not all source extensions can be in this setting. source.files=*.asm;*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hh;*.hxx;*.hpp;\ *.idl;*.odl;*.rc;*.rc2;*.dlg;*.def;\ *.vb;*.vbs;*.bas;*.frm;*.cls;*.ctl;\ *.java;*.js;*.py;*.pl;*.rb;*.cgi;*.kix;*.conf;\ make*;*.mak;\ *.properties;*.html;*.xml;*.iface;*.bat;*.e
if PLAT_WIN all.files=All Files (*.*)|*.*| if PLAT_GTK all.files=All Files (*)|*|Hidden Files (.*)|.*| open.filter=\ All Source|$(source.files)|\ $(all.files)\ #$(filter.ada)\ $(filter.conf)\ $(filter.asm)\ #$(filter.ave)\ $(filter.baan)\ $(filter.bash)\ $(filter.cpp)\ $(filter.css)\ #$(filter.eiffel)\ #$(filter.erlang)\ #$(filter.fortran)\ $(filter.idl)\ $(filter.java)\ $(filter.js)\ $(filter.kix)\ #$(filter.lout)\ #$(filter.lua)\ #$(filter.matlab)\ #$(filter.metapost)\ #$(filter.mmixal)\ $(filter.nncrontab)\ #$(filter.nsis)\ $(filter.pascal)\ $(filter.perl)\ $(filter.php)\ #$(filter.pov)\ $(filter.properties)\ $(filter.ps)\ $(filter.python)\ #$(filter.ruby)\ $(filter.sql)\ #$(filter.specman)\ #$(filter.tcl)\ $(filter.tex)\ $(filter.text)\ $(filter.vb)\ $(filter.web)\ #$(filter.yaml)\ #$(filter.verilog)
# Give symbolic names to the set of fonts used in the standard styles. if PLAT_WIN font.base=font:Lucida Console,size:10 font.small=font:Lucida Console,size:8 font.comment=font:Courier New,size:10 font.code.comment.box=$(font.comment) font.code.comment.line=$(font.comment) font.code.comment.doc=$(font.comment) font.text=font:Times New Roman,size:10 font.text.comment=font:Verdana,size:10 font.embedded.base=font:Verdana,size:10 font.embedded.comment=font:Comic Sans MS,size:9 font.monospace=font:Courier New,size:10 font.vbs=font:Lucida Sans Unicode,size:10 if PLAT_GTK font.base=font:lucidatypewriter,size:12 font.small=font:lucidatypewriter,size:10 font.comment=font:new century schoolbook,size:12 font.code.comment.box=$(font.comment) font.code.comment.line=$(font.comment) font.code.comment.doc=$(font.comment) font.text=font:times,size:14 font.text.comment=font:lucidatypewriter,size:10 font.embedded.base=font:lucidatypewriter,size:12 font.embedded.comment=font:lucidatypewriter,size:12 font.monospace=font:courier,size:12 font.vbs=font:new century schoolbook,size:12 font.js=$(font.comment)
# Give symbolic names to the set of colours used in the standard styles. colour.code.comment.box=fore:#007F00 colour.code.comment.line=fore:#007F00 colour.code.comment.doc=fore:#3F703F colour.text.comment=fore:#0000FF,back:#D0F0D0 colour.other.comment=fore:#007F00 colour.embedded.comment=back:#E0EEFF colour.embedded.js=back:#F0F0FF colour.notused=back:#FF0000
colour.number=fore:#007F7F colour.keyword=fore:#00007F colour.string=fore:#7F007F colour.char=fore:#7F007F colour.operator=fore:#000000 colour.preproc=fore:#7F7F00 colour.error=fore:#FFFF00,back:#FF0000
# Global default styles for all languages # Default style.*.32=$(font.base) # Line number style.*.33=back:#C0C0C0,$(font.base) # Brace highlight style.*.34=fore:#0000FF,bold # Brace incomplete highlight style.*.35=fore:#FF0000,bold # Control characters style.*.36= # Indentation guides style.*.37=fore:#C0C0C0,back:#FFFFFF
# Printing - only works on Windows if PLAT_WIN #print.colour.mode=1 print.magnification=-1 # Setup: left, right, top, bottom margins, in local units: # hundredths of millimeters or thousandths of inches print.margins=1500,1000,1000,1500 # Header/footer: # && = &; &p = current page # &f = file name; &F = full path # &d = file date; &D = current date # &t = file time; &T = full time print.header.format=$(FileNameExt) — Printed on $(CurrentDate), $(CurrentTime) — Page $(CurrentPage) print.footer.format=$(FilePath) — File date: $(FileDate) — File time: $(FileTime) # Header/footer style print.header.style=font:Arial,size:12,bold print.footer.style=font:Arial Narrow,size:10,italics
# Warnings - only works on Windows and needs to be pointed at files on machine #if PLAT_WIN # warning.findwrapped=100,E:\Windows\Media\SFX\Boing.wav # warning.notfound=0,Effect.wav # warning.wrongfile=0,Glass.wav # warning.executeok=0,Fanfare.wav # warning.executeko=100,GlassBreak.wav # warning.nootherbookmark=100,Boing2.wav
# Define the Lexer menu, # Each item contains three parts: menu string | file extension | key # The only keys allowed currently are based on F-keys and alphabetic keys and look like # [Ctrl+][Shift+][Fn|a] such as F12 or Ctrl+Shift+D. # A '&' may be placed before a letter to be used as an accelerator. This does not work on GTK+. menu.language=\ Text|txt|Shift+F11|\ #Ada|ads||\ Apache Confi&g|conf||\ Assembler|asm||\ #Avenue|ave||\ Baan|bc||\ &Batch|bat||\ #Bullant|ant||\ &C / C++|c||\ C&#|cs||\ CSS|css||\ &Difference|diff||\ #&Eiffel|e||\ #Erlang|erl||\ &Errorlist|err||\ #&Fortran|f90||\ H&ypertext|html|F12|\ &Java|java||\ Java&Script|js||\ &Kix|kix||\ TeX|tex||\ #Lisp|lisp||\ #Lot|lot||\ #Lout|lt||\ #Lu&a|lua||\ #Matlab|m.matlab||\ &Makefile|mak|Ctrl+Shift+F11|\ #MetaPost|mp||\ #MMIXAL|mms||\ #&nnCron crontab|tab||\ #NSIS|nsis||\ #Octave|m.octave||\ Pascal|pas||\ Pe&rl|pl||\ P&HP|php||\ P&LSQL|spec||\ &Properties|properties||\ P&ostScript|ps||\ #P&OV-Ray SDL|pov||\ Pytho&n|py||\ Reso&urce|rc||\ #Ruby|rb||\ Shell|sh||\ S&QL|sql||\ #Specman|e||\ #&TCL|tcl||\ &VB|vb||\ VBScr&ipt|vbs||\ #Verilog|v||\ &XML|xml|Shift+F12|\ #&YAML|yaml||
# User defined key commands user.shortcuts=\ Ctrl+Shift+V|IDM_PASTEANDDOWN|\ Ctrl+PageUp|IDM_PREVFILE|\ Ctrl+PageDown|IDM_NEXTFILE|
#KeypadPlus|IDM_EXPAND|\ #KeypadMinus|IDM_BLOCK_COMMENT|
# Import all the language specific properties files #import ada import asm #import au3 #import ave import baan #import bullant import conf import cpp import css #import eiffel #import erlang import escript #import forth #import fortran import html import kix #import lisp #import lot #import lout #import lua #import matlab #import metapost #import mmixal #import nncrontab #import nsis import others import pascal import perl #import pov import ps import python import ruby #import scriptol import sql #import specman #import tcl #import tex import vb #import yaml #import verilog
kix.properties # Define SciTE settings for Assembler files # Black Horus blackhorus@gmx.net
# Masm files file.patterns.kix=*.kix filter.kix=Kix-Script (kix)|$(file.patterns.kix)|
#lexer.$(file.patterns.kix)=asm lexer.$(file.patterns.kix)=kix
# These keywords are commands keywords.$(file.patterns.kix)=? and beep big break call cd cls color cookie1 copy \ debug del dim display do until exit flushkb for each next function endfunction \ get gets global go gosub goto if else endif md or password play quit \ rd redim return run select case endselect set setl setm settime \ shell sleep small use while loop
# This keywords are functions keywords2.$(file.patterns.kix)=abs addkey addprinterconnection addprogramgroup \ addprogramitem asc ascan at backupeventlog box cdbl chr cint cleareventlog \ close comparefiletimes createobject cstr dectohex delkey delprinterconnection \ delprogramgroup delprogramitem deltree delvalue dir enumgroup enumipinfo enumkey \ enumlocalgroup enumvalue execute exist existkey expandenvironmentvars fix \ formatnumber freefilehandle getdiskspace getfileattr getfilesize getfiletime \ getfileversion getobject iif ingroup instr instrrev int isdeclared join \ kbhit keyexist lcase left len loadhive loadkey logevent logoff ltrim \ memorysize messagebox open readline readprofilestring readtype readvalue \ redirectoutput right rnd round rtrim savekey sendkeys sendmessage setascii \ setconsole setdefaultprinter setfileattr setfocus setoption setsystemstate \ settitle setwallpaper showprogramgroup shutdown sidtoname split srnd substr \ trim ubound ucase unloadhive val vartype vartypename writeline \ writeprofilestring writevalue
# This keywords are macros if preceeded by @ keywords3.$(file.patterns.kix)=address build color comment cpu crlf csd curdir \ date day domain dos error fullname homedir homedrive homeshr hostname \ inwin ipaddress0 ipaddress1 ipaddress2 ipaddress3 kix lanroot ldomain \ ldrive lm logonmode longhomedir lserver maxpwage mdayno mhz monthno \ month msecs pid primarygroup priv productsuite producttype pwage ras \ result rserver scriptdir scriptexe scriptname serror sid site startdir \ syslang ticks time userid userlang wdayno wksta wuserid ydayno year
# Comments comment.block.kix=; comment.block.at.line.start.kix=1
# Kix Styles # White space style.kix.0=fore:#000000,$(font.vbs) # Comment style.kix.1=$(colour.code.comment.line),$(font.code.comment.line) # String style.kix.2=$(colour.string) style.kix.3=$(colour.string) # Number style.kix.4=$(colour.number) # Variables style.kix.5=fore:#B00040 # Macro style.kix.6=$(colour.preproc) # Keyword style.kix.7=$(colour.keyword),bold # Function style.kix.8=$(colour.keyword) # Operator style.kix.9=$(colour.operator),bold
# Commands command.go.*.kix=kix32 $(FileName)
# Indenting tab.size.$(file.patterns.kix)=4 indent.size.$(file.patterns.kix)=4 use.tabs.$(file.patterns.kix)=1
statement.indent.$(file.patterns.kix)=7 if else for do while function case statement.end.$(file.patterns.kix)=7 endif next until loop endfunction endselect
|
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
1 registered
(Henriques)
and 2516 anonymous users online.
|
|
|