Hello!
I used the User Define Dialog to create something that at least somewhat resembles SAS Enhanced Editor's highlighting for SAS BASE language.
Then my company provided me with a new computer (oh, joy!).
But I lost the highlighting (read, half an hour down the drain)
I would like to create a REAL plugin for the SAS BASE language highlighting that can survive between re-installs.
How do I do that?
I'm sure, no, I know for sure there are people out there that search for a good SAS savvy editor.
Please help me to help you!
Regards
witecat
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Your user defined languages are easily transportable. They are stored in an XML file in your Documents and Settings Folder. (C:\Documents and Settings\[YOUR NAME}\Application Data\Notepad++\UserDefineLang.xml). I agree it would be great if a nice definition was built in. Until that time here is mine. It is somewhat incomplete but has been "good enougth" for me. We should collaborate here to create a quality syntax definition.
<NotepadPlus>
<UserLang name="SAS" ext="sas SAS">
<Settings>
<Global caseIgnored="yes" />
<TreatAsSymbol comment="no" commentLine="no" />
<Prefix words1="no" words2="no" words3="yes" words4="yes" />
</Settings>
<KeywordLists>
<Keywords name="Delimiters">"'0"'0</Keywords>
<Keywords name="Folder+">PROC proc DATA data</Keywords>
<Keywords name="Folder-">run RUN</Keywords>
<Keywords name="Operators">( ) , . ; + < = ></Keywords>
<Keywords name="Comment">1/* 2*/ 0</Keywords>
<Keywords name="Words1">FORMAT Format format quit FREQ freq PRINT print MEANS</Keywords>
<Keywords name="Words2">INPUT input value VALUE Value IF if THEN then DO do END end ELSE else AND and
truncover recfm lrecl filename libname %let ODS Ods ods html HTML CLOSE close listing LISTNG missing norow nocol TABLES table TABLE tables BY by ID id sum SUM SUMBY sumby var VAR nopercent retain infile options file FILE TITLE1 TITLE2 TITLE3 TITLE4 FOOTNOTE rtf RTF</Keywords>
<Keywords name="Words3">@ $char $ebcdic s370ff $ $EBCDIC S370FF z Z S370FPD</Keywords>
<Keywords name="Words4">%</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD1" styleID="5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD2" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD3" styleID="7" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD4" styleID="8" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="2" fontSize="10" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="2" />
<WordsStyle name="NUMBER" styleID="4" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER1" styleID="14" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER2" styleID="15" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
</Styles>
</UserLang>
</NotepadPlus>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello!
I used the User Define Dialog to create something that at least somewhat resembles SAS Enhanced Editor's highlighting for SAS BASE language.
Then my company provided me with a new computer (oh, joy!).
But I lost the highlighting (read, half an hour down the drain)
I would like to create a REAL plugin for the SAS BASE language highlighting that can survive between re-installs.
How do I do that?
I'm sure, no, I know for sure there are people out there that search for a good SAS savvy editor.
Please help me to help you!
Regards
witecat
you can reach me at marina.malinova@citigroup.com
Your user defined languages are easily transportable. They are stored in an XML file in your Documents and Settings Folder. (C:\Documents and Settings\[YOUR NAME}\Application Data\Notepad++\UserDefineLang.xml). I agree it would be great if a nice definition was built in. Until that time here is mine. It is somewhat incomplete but has been "good enougth" for me. We should collaborate here to create a quality syntax definition.
<NotepadPlus>
<UserLang name="SAS" ext="sas SAS">
<Settings>
<Global caseIgnored="yes" />
<TreatAsSymbol comment="no" commentLine="no" />
<Prefix words1="no" words2="no" words3="yes" words4="yes" />
</Settings>
<KeywordLists>
<Keywords name="Delimiters">"'0"'0</Keywords>
<Keywords name="Folder+">PROC proc DATA data</Keywords>
<Keywords name="Folder-">run RUN</Keywords>
<Keywords name="Operators">( ) , . ; + < = ></Keywords>
<Keywords name="Comment">1/* 2*/ 0</Keywords>
<Keywords name="Words1">FORMAT Format format quit FREQ freq PRINT print MEANS</Keywords>
<Keywords name="Words2">INPUT input value VALUE Value IF if THEN then DO do END end ELSE else AND and
truncover recfm lrecl filename libname %let ODS Ods ods html HTML CLOSE close listing LISTNG missing norow nocol TABLES table TABLE tables BY by ID id sum SUM SUMBY sumby var VAR nopercent retain infile options file FILE TITLE1 TITLE2 TITLE3 TITLE4 FOOTNOTE rtf RTF</Keywords>
<Keywords name="Words3">@ $char $ebcdic s370ff $ $EBCDIC S370FF z Z S370FPD</Keywords>
<Keywords name="Words4">%</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD1" styleID="5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD2" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD3" styleID="7" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD4" styleID="8" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="2" fontSize="10" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="2" />
<WordsStyle name="NUMBER" styleID="4" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER1" styleID="14" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER2" styleID="15" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
</Styles>
</UserLang>
</NotepadPlus>
Where I can download plugin SAS Syntax for Notepad ++ ?
I'm waiting a reply in my e-mail "web.lino@gmail.com", please!!
I'm speak little English.
Thanks.
Hi, Anonymous (nobody) - 2007-01-05 18:02!
This works great, I'm going to look into it asap and put the results here.
Greetings
witecat
Here is a hopefully better definition of SAS syntax (if not better then it is bigger)
<UserLang name="SAS" ext="sas SAS">
<Settings>
<Global caseIgnored="yes" />
<TreatAsSymbol comment="yes" commentLine="no" />
<Prefix words1="no" words2="no" words3="yes" words4="yes" />
</Settings>
<KeywordLists>
<Keywords name="Delimiters">"'0"'0</Keywords>
<Keywords name="Folder+">proc data</Keywords>
<Keywords name="Folder-">run RUN</Keywords>
<Keywords name="Operators">' - ! " & ( ) , . : ; ? @ [ \ ] ^ ` { | } ~ + < ></Keywords>
<Keywords name="Comment">1/* 2*/ 0</Keywords>
<Keywords name="Words1">append
bmdp
calendar catalog chart cimport compare contents convert copy corr cport
datasets
format forms freq
glm gplot
logistic
means
npar1way
options
pds plot pmenu print printto
rank release
sort source spell sql standard summary
tabulate tapecopy tapelabel timeplot transpose ttest
univariate
v5tov6</Keywords>
<Keywords name="Words2">$include
_all_ _character_ _cmd_ _error_ _freq_ _i_ _infile_ _last_ _msg_ _n_
_null_ _numeric_ _temporary_ _type_
abort addr adjrsq alpha alter altlog altprint array attrib authserver
autoexec awscontrol awsdef awsmenu awsmenumerge awstitle
backward base blocksize bufno bufsize by byerr byline
call cards cards4 catcache cbufno center change chisq class cleanup
cntllev codegen col collin column comamid comaux1 comaux2 comdef config
continue cpuid create
datalines datalines4 dbcslang dbcstype ddm delete delimiter
descending device dflang display distinct dkricond dkrocond dlm do drop
dsnferr
echo else emaildlg emailid emailpw emailserver emailsys encrypt end
endsas engine eof eov error errorcheck errors
feedback file fileclose filefmt filevar first first. firstobs fmterr
fmtsearch font fontalias footnote footnote1 footnote2 footnote3
footnote4 footnote5 footnote6 footnote7 footnote8 footnote9 force
formatted formchar formdelim formdlim forward from
go goto group gwindow
hbar helpenv helploc honorappearance hostprint hpct html hvar
ibr id if infile informat initcmd initstmt inr into invaliddata is
join
keep kentb
label last last. leave lib library line linesize link list lostcard
lrecl ls
macro macrogen maps mautosource maxdec maxr measures median memtype
merge merror missing missover mlogic mode model modify mprint mrecall
msglevel msymtabmax mvarsize myy
new news no nobatch nobs nocol nocaps nocardimage nocenter nocharcode
nocmdmac
nocum nodate nodbcs nodetails nodmr nodms nodmsbatch nodup nodupkey
noduplicates noechoauto noequals noerrorabend noexitwindows
nofullstimer
noicon noimplmac noint nolist noloadlist nomiss nomlogic nomprint
nomrecall nomsgcase nomstored nomultenvappl nonotes nonumber noobs
noovp
nopad noprint noprintinit norow norsasuser nosetinit nosource2 nosplash
nosymbolgen notes notitle notitles notsorted noverbose noxsync noxwait
number numkeys nummousekeys nway
obs ods option order otherwise out outp= output over ovp
pad pad2 page pageno pagesize paired parm parmcards path pathdll pfkey
position printer probsig procleave prt ps pw pwreq
quit
r ranks read recfm reg register regr remote remove rename replace
retain
return reuse rsquare rtf rtrace rtraceloc
s s2 samploc sasautos sascontrol sasfrscr sashelp sasmsg sasmstore
sasscript sasuser select selection separated seq serror set setcomm
simple siteinfo skip sle sls sortedby sortpgm sortseq sortsize source2
splashlocation split spool start stdin stimer stop stopover sumwgt
symbol symbolgen sysin sysleave sysparm sysprint sysprintfont
t table tables tapeclose tbufsize terminal test then title title1
title2
title3 title4 title5 title6 title7 title8 title9 to tol tooldef trantab truncover
type
unformatted union until update user usericon
validate value var varray varrayx vformat vformatd vformatdx vformatn
vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat
vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx
vinformatx vlabel vlabelx vlength vlengthx vname vnamex vnferr vtype
vtypex
weight when where while wincharset window work workinit workterm write
x xsync xwait
yearcutoff yes

abs airy arcos arsin atan attrc attrn
band betainv blshift bnot bor brshift bxor byte
cdf ceil cexist cinv close cnonct collate compbl compound compress cos
cosh css curobs cv
daccdb daccdbsl daccsl daccsyd dacctab dairy date datejul datepart
datetime day dclose depdb depdbsl depsl depsyd deptab dequote dhms dif
digamma dim dinfo dnum dopen doptname doptnum dread dropnote dsname
erf erfc exist exp
fappend fclose fcol fdelete fetch fetchobs fexist fget fileexist
filename fileref finfo finv fipname fipnamel fipstate floor fnonct
fnote
fopen foptname foptnum fpoint fpos fput fread frewind frlen fsep fuzz
fwrite
gaminv gamma getoption getvarc getvarn
hbound hms hosthelp hour
ibessel index indexc indexw input inputc inputn int intck intnx intrr
irr
jbessel juldate
kurtosis
lag lbound left length lgamma libname libref log log10 log2 logpdf
logpmf logsdf lowcase
max mdy mean min minute mod month mopen mort
n netpv nmiss normal note npv
open ordinal
pathname pdf peek peekc pmf point poisson poke probbeta probbnml
probchi
probf probgam probhypr probit probnegb probnorm probt put putc putn
qtr quote
ranbin rancau ranexp rangam range rannor ranpoi rantbl rantri ranuni
repeat resolve reverse rewind right round
saving scan sdf second sign sin sinh skewness soundex spedis sqrt std
stderr stfips stname stnamel substr sum symget symput sysget sysmsg
sysprod sysrc system
tan tanh time timepart tinv tnonct today translate tranwrd trigamma
trim
trimn trunc
uniform upcase uss
varfmt varinfmt varlabel varlen varname varnum vartype verify
weekday
year yyq
zipfips zipname zipnamel zipstate
/C6"SUDAAN for SAS"
crosstab
descript design=
levels
nest
setot subgroup subpopn
totper
wsum</Keywords>
<Keywords name="Words3">%bquote %do %else %end %eval %global %goto %if %inc %include %index
%input %length %let %list %local %macro %mend %nrbquote %nrquote %nrstr
%put %qscan %qsysfunc %quote %run %substr %syscall %sysevalf %sysexec
%sysfunc %sysrc %then %to %until %while %window
/C4"Informats & Formats"
$1 $2 $3 $4 $5 $6 $7 $8 $9 $ascii $binary $cb $char $charzb $ebcdic $hex $kanji $kanjix $msgcase
$octal $phex $quote $reverj $revers $upcase $varying
best binary bits bz
cb char comma commax
dateampm ddmmyy dollar dollarx downame
eurdfdd eurdfde eurdfdn eurdfdt eurdfdwn eurdfmn eurdfmy eurdfwdx
eurdfwkx
float fract
hex hhmm
ib ieee
julday julian
minguo mmddyy mmss mmyy monname monyy msec
negparen nengo numx
octal
pd pdjulg pdjuli pdtime percent pib pk punch pvalue
qtrr
rb rmfdur rmfstamp roman row
s370ff s370fib s370fibu s370fpd s370fpdu s370fpib s370frb s370fzd
s370fzdl s370fzds s370fzdt s370fzdu smfstamp
timeampm tod tu
vaxrb
weekdate weekdatx worddate worddatx wordf words
yen yymm yymmdd yymon yyqr
z zd zdb zdv
</Keywords>
<Keywords name="Words4">data=</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD1" styleID="5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD2" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD3" styleID="7" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD4" styleID="8" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="2" fontSize="10" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="2" />
<WordsStyle name="NUMBER" styleID="4" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER1" styleID="14" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER2" styleID="15" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
</Styles>
</UserLang>