1# Define SciTE settings for C++, C, C#, Ch, Java, IDL, JavaScript, Flash (ActionScript 2) files. 2 3# sma files are Small script (C-like) 4file.patterns.cpp=*.c;*.cc;*.cpp;*.cxx;*.h;*.hh;*.hpp;*.hxx;*.ipp;*.m;*.mm;*.sma 5file.patterns.cplusplus=*.cc;*.cpp;*.cxx 6# jad = decompiled class files; pde = Processing.org sketch files 7file.patterns.java=*.java;*.jad;*.pde 8# pln, inc and t are SilkTest (4Test) files. 9file.patterns.test=*.pln;*.inc;*.t 10# es = JS dialect of Abobe for SVG 11file.patterns.js=*.js;*.es;*.ts;*.jse;*.jsm;*.mjs;*.qs 12file.patterns.cs=*.cs 13file.patterns.rc=*.rc;*.rc2;*.dlg 14file.patterns.idl=*.idl;*.odl 15file.patterns.flash=*.as;*.asc;*.jsfl 16file.patterns.ch=*.ch;*.chf;*.chs 17file.patterns.vala=*.vala 18file.patterns.go=*.go 19file.patterns.pike=*.pike 20file.patterns.swift=*.swift 21file.patterns.c.like=$(file.patterns.cpp);$(file.patterns.cs);$(file.patterns.idl);$(file.patterns.java);$(file.patterns.js);$(file.patterns.flash);$(file.patterns.ch);$(file.patterns.vala);$(file.patterns.pike) 22file.patterns.meson=meson.build 23 24*source.patterns.cpp=$(file.patterns.c.like); 25*source.patterns.resource=$(file.patterns.rc);*.def; 26 27shbang.tcc=cpp 28shbang.tinycc=cpp 29 30filter.cpp=C/C++ (c cc cpp cxx cs vala h hh hxx hpp ipp dlg rc rc2 mak)|\ 31$(file.patterns.cpp);$(file.patterns.cs);$(file.patterns.rc);$(file.patterns.vala);*.mak;make*| 32filter.java=Java (java)|*.java| 33filter.js=JavaScript (js es ts)|$(file.patterns.js)| 34filter.idl=IDL (idl odl)|$(file.patterns.idl)| 35filter.test=SilkTest (pln inc t)|$(file.patterns.test)| 36filter.flash=Flash (as asc jsfl)|$(file.patterns.flash)| 37filter.ch=Ch (ch chf chs)|$(file.patterns.ch)| 38filter.go=Go (go)|$(file.patterns.go)| 39filter.pike=Pike (pike)|$(file.patterns.pike)| 40filter.swift=Swift (swift)|$(file.patterns.swift)| 41 42*filter.cpp=$(filter.cpp) 43*filter.java=$(filter.java) 44*filter.javascript=$(filter.js) 45*filter.idl=$(filter.idl) 46 47lexer.$(file.patterns.java)=cpp 48lexer.$(file.patterns.cpp)=cpp 49lexer.$(file.patterns.rc)=cpp 50lexer.$(file.patterns.idl)=cpp 51lexer.$(file.patterns.cs)=cpp 52lexer.$(file.patterns.js)=cpp 53lexer.$(file.patterns.test)=cpp 54lexer.$(file.patterns.flash)=cpp 55lexer.$(file.patterns.ch)=cpp 56lexer.$(file.patterns.vala)=cpp 57lexer.$(file.patterns.go)=cpp 58lexer.$(file.patterns.pike)=cpp 59lexer.$(file.patterns.swift)=cpp 60lexer.$(file.patterns.meson)=cpp 61 62*language.c=&C / C++|c|| 63*language.csharp=C&#|cs|| 64*language.java=&Java|java|| 65*language.javascript=Java&Script|js|| 66#*language.resource=Reso&urce|rc|| 67 68keywordclass.cpp=alignas alignof and and_eq asm audit auto axiom bitand bitor bool break \ 69case catch char char8_t char16_t char32_t class compl concept \ 70const consteval constexpr const_cast continue co_await co_return co_yield \ 71decltype default delete do double dynamic_cast else enum explicit export extern false final float for \ 72friend goto if import inline int long module mutable namespace new noexcept not not_eq nullptr \ 73operator or or_eq override private protected public \ 74register reinterpret_cast requires return \ 75short signed sizeof static static_assert static_cast struct switch \ 76template this thread_local throw true try typedef typeid typename union unsigned using \ 77virtual void volatile wchar_t while xor xor_eq 78 79directives.objective.c=\ 80@class @defs @protocol @required @optional @end \ 81@interface @public @package @protected @private @property \ 82@implementation @synthesize @dynamic \ 83@throw @try @catch @finally \ 84@synchronized @autoreleasepool \ 85@selector @encode \ 86@compatibility_alias 87 88# Since Objective C and C++ share the .h extension, allow Objective C directives as keywords 89# For stricter display of pure C++, specify keywords.$(file.patterns.cpp)=$(keywordclass.cpp) 90keywords.$(file.patterns.cpp)=$(keywordclass.cpp) $(directives.objective.c) 91 92# keywords2 is for highlighting user defined keywords or function calls or similar 93#keywords2.$(file.patterns.cpp)=file 94 95# keywords3 is for doc comment keywords, highlighted in style 17 96#CPP doxygen 97file.patterns.doxygen.langs=$(file.patterns.cpp);$(file.patterns.java) 98keywordclass.doxygen=a addindex addtogroup anchor arg attention \ 99author b brief bug c class code date def defgroup deprecated dontinclude \ 100e em endcode endhtmlonly endif endlatexonly endlink endverbatim enum example exception \ 101f$ f[ f] file fn hideinitializer htmlinclude htmlonly \ 102if image include ingroup internal invariant interface latexonly li line link \ 103mainpage name namespace nosubgrouping note overload \ 104p page par param param[in] param[out] \ 105post pre ref relates remarks return retval \ 106sa section see showinitializer since skip skipline struct subsection \ 107test throw throws todo typedef union until \ 108var verbatim verbinclude version warning weakgroup $ @ \ & < > # { } 109keywords3.$(file.patterns.doxygen.langs)=$(keywordclass.doxygen) 110 111# keywords5 is for preprocessor definitions and will cause inactive code 112# to be greyed out. This setting is a space separated list of definitions 113# where a definition may be of the form NAME=VALUE or simply NAME. 114#keywords5.$(file.patterns.cpp)=_MSC_VER SCI_NAMESPACE GTK_MAJOR_VERSION=2 115 116word.chars.cxx=$(chars.alpha)$(chars.numeric)_# 117word.characters.$(file.patterns.cpp)=$(word.chars.cxx) 118calltip.cpp.word.characters=$(chars.alpha)$(chars.numeric)_ 119comment.block.cpp=//~ 120#comment.block.at.line.start.cpp=1 121comment.stream.start.cpp=/* 122comment.stream.end.cpp=*/ 123comment.box.start.cpp=/* 124comment.box.middle.cpp= * 125comment.box.end.cpp= */ 126 127# Folding 128#fold.cpp.syntax.based=0 129#fold.comment=0 130#fold.cpp.comment.multiline=0 131#fold.cpp.comment.explicit=0 132#defaults for fold.cpp.explicit.start=//{ and fold.cpp.explicit.end=//} 133# can be replaced by defining custom strings, e.g. //[ and //] 134#fold.cpp.explicit.start=//[ 135#fold.cpp.explicit.end=//] 136#if fold strings are set to something like /*{{{ and /*}}} (Origami/WinF style fold strings), enable 137# fold.cpp.explicit.anywhere, allowing explicit fold points being anywhere, not just in line comments 138#fold.cpp.explicit.anywhere=1 139#fold.preprocessor=1 140#fold.compact=1 141#fold.at.else=1 142 143file.patterns.c.except.cpp=$(file.patterns.cs);$(file.patterns.idl);*.java;$(file.patterns.flash);$(file.patterns.ch) 144statement.indent.$(file.patterns.c.except.cpp)=5 case default do else for if while 145statement.indent.$(file.patterns.cpp)=5 case default do else for if private protected public while 146statement.end.$(file.patterns.c.like)=10 ; 147statement.lookback.$(file.patterns.c.like)=20 148block.start.$(file.patterns.c.like)=10 { 149block.end.$(file.patterns.c.like)=10 } 150 151#autocomplete.cpp.fillups=( 152 153#styling.within.preprocessor=1 154preprocessor.symbol.$(file.patterns.cpp)=# 155preprocessor.start.$(file.patterns.cpp)=if ifdef ifndef 156preprocessor.middle.$(file.patterns.cpp)=else elif 157preprocessor.end.$(file.patterns.cpp)=endif 158 159preprocessor.symbol.$(file.patterns.cs)=# 160preprocessor.start.$(file.patterns.cs)=if region 161preprocessor.middle.$(file.patterns.cs)=else elif 162preprocessor.end.$(file.patterns.cs)=endif endregion 163 164keywordclass.ch=\ 165auto array bool break case char class complex ComplexInf ComplexNaN \ 166const continue default delete \ 167do double else enum export extern float for foreach goto if Inf inline int \ 168long namespace NaN new NULL private public register restrict return short \ 169signed sizeof static string_t struct switch this typedef union unsigned \ 170using void volatile wchar_t while __declspec 171keywords.$(file.patterns.ch)=$(keywordclass.ch) 172word.chars.ch=$(chars.alpha)$(chars.numeric)_# 173word.characters.$(file.patterns.ch)=$(word.chars.cxx) 174comment.block.ch=//~ 175#comment.block.at.line.start.ch=1 176comment.stream.start.ch=/* 177comment.stream.end.ch=*/ 178comment.box.start.ch=/* 179comment.box.middle.ch= * 180comment.box.end.ch= */ 181preprocessor.symbol.$(file.patterns.ch)=# 182preprocessor.start.$(file.patterns.ch)=if ifdef ifndef 183preprocessor.middle.$(file.patterns.ch)=else elif 184preprocessor.end.$(file.patterns.ch)=endif 185 186keywordclass.cs=abstract as ascending base bool break by byte case catch char checked \ 187class const continue decimal default delegate descending do double else enum \ 188equals event explicit extern false finally fixed float for foreach from goto group if \ 189implicit in int interface internal into is join lock let long namespace new null \ 190object on operator orderby out override params private protected public \ 191readonly ref return sbyte sealed select short sizeof stackalloc static \ 192string struct switch this throw true try typeof uint ulong \ 193unchecked unsafe ushort using var virtual void volatile where while 194keywords.$(file.patterns.cs)=$(keywordclass.cs) 195word.characters.$(file.patterns.cs)=$(word.chars.cxx) 196 197keywordclass.go=\ 198bool byte break case chan complex64 complex128 const continue defer default \ 199else for func go goto fallthrough false float32 float64 if import int interface int8 int16 int32 int64 \ 200len map nil package range return select string struct switch true type \ 201uint uintptr uint8 uint16 uint32 uint64 var 202keywords.$(file.patterns.go)=$(keywordclass.go) 203 204keywordclass.rc=\ 205ACCELERATORS ALT AUTO3STATE AUTOCHECKBOX AUTORADIOBUTTON \ 206BEGIN BITMAP BLOCK BUTTON CAPTION CHARACTERISTICS CHECKBOX CLASS \ 207COMBOBOX CONTROL CTEXT CURSOR DEFPUSHBUTTON DIALOG DIALOGEX DISCARDABLE \ 208EDITTEXT END EXSTYLE FONT GROUPBOX ICON LANGUAGE LISTBOX LTEXT \ 209MENU MENUEX MENUITEM MESSAGETABLE POPUP \ 210PUSHBUTTON RADIOBUTTON RCDATA RTEXT SCROLLBAR SEPARATOR SHIFT STATE3 \ 211STRINGTABLE STYLE TEXTINCLUDE VALUE VERSION VERSIONINFO VIRTKEY 212keywords.$(file.patterns.rc)=$(keywordclass.rc) 213 214keywordclass.idl=\ 215aggregatable allocate appobject arrays async async_uuid \ 216auto_handle \ 217bindable boolean broadcast byte byte_count \ 218call_as callback char coclass code comm_status \ 219const context_handle context_handle_noserialize \ 220context_handle_serialize control cpp_quote custom \ 221decode default defaultbind defaultcollelem \ 222defaultvalue defaultvtable dispinterface displaybind dllname \ 223double dual \ 224enable_allocate encode endpoint entry enum error_status_t \ 225explicit_handle \ 226fault_status first_is float \ 227handle_t heap helpcontext helpfile helpstring \ 228helpstringcontext helpstringdll hidden hyper \ 229id idempotent ignore iid_as iid_is immediatebind implicit_handle \ 230import importlib in include in_line int __int64 __int3264 interface \ 231last_is lcid length_is library licensed local long \ 232max_is maybe message methods midl_pragma \ 233midl_user_allocate midl_user_free min_is module ms_union \ 234ncacn_at_dsp ncacn_dnet_nsp ncacn_http ncacn_ip_tcp \ 235ncacn_nb_ipx ncacn_nb_nb ncacn_nb_tcp ncacn_np \ 236ncacn_spx ncacn_vns_spp ncadg_ip_udp ncadg_ipx ncadg_mq \ 237ncalrpc nocode nonbrowsable noncreatable nonextensible notify \ 238object odl oleautomation optimize optional out out_of_line \ 239pipe pointer_default pragma properties propget propput propputref \ 240ptr public \ 241range readonly ref represent_as requestedit restricted retval \ 242shape short signed size_is small source strict_context_handle \ 243string struct switch switch_is switch_type \ 244transmit_as typedef \ 245uidefault union unique unsigned user_marshal usesgetlasterror uuid \ 246v1_enum vararg version void wchar_t wire_marshal 247 248keywordclass.msidl=handle 249keywordclass.xpidl=attribute native noscript scriptable shared wstring inout 250keywords.$(file.patterns.idl)=$(keywordclass.idl) $(keywordclass.xpidl) 251 252# http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html 253keywordclass.java=abstract assert boolean break byte case catch char class \ 254const continue default do double else enum extends final finally float for \ 255goto if implements import instanceof int interface long \ 256native new package private protected public \ 257return short static strictfp super switch synchronized this throw throws \ 258transient try var void volatile while 259keywords.$(file.patterns.java)=$(keywordclass.java) 260 261keywordclass.javascript=abstract boolean break byte case catch char class \ 262const continue debugger default delete do double else enum export extends \ 263final finally float for function goto if implements import in instanceof \ 264int interface long native new package private protected public \ 265return short static super switch synchronized this throw throws \ 266transient try typeof var void volatile while with 267keywords.$(file.patterns.js)=$(keywordclass.javascript) 268 269keywordclass.flash=add and break case catch class continue default delete do \ 270dynamic else eq extends false finally for function ge get gt if implements import in \ 271instanceof interface intrinsic le lt ne new not null or private public return \ 272set static super switch this throw true try typeof undefined var void while with 273 274keywordclass2.flash=Array Arguments Accessibility Boolean Button Camera Color \ 275ContextMenu ContextMenuItem Date Error Function Key LoadVars LocalConnection Math \ 276Microphone Mouse MovieClip MovieClipLoader NetConnection NetStream Number Object \ 277PrintJob Selection SharedObject Sound Stage String StyleSheet System TextField \ 278TextFormat TextSnapshot Video Void XML XMLNode XMLSocket \ 279_accProps _focusrect _global _highquality _parent _quality _root _soundbuftime \ 280arguments asfunction call capabilities chr clearInterval duplicateMovieClip \ 281escape eval fscommand getProperty getTimer getURL getVersion gotoAndPlay gotoAndStop \ 282ifFrameLoaded Infinity -Infinity int isFinite isNaN length loadMovie loadMovieNum \ 283loadVariables loadVariablesNum maxscroll mbchr mblength mbord mbsubstring MMExecute \ 284NaN newline nextFrame nextScene on onClipEvent onUpdate ord parseFloat parseInt play \ 285prevFrame prevScene print printAsBitmap printAsBitmapNum printNum random removeMovieClip \ 286scroll set setInterval setProperty startDrag stop stopAllSounds stopDrag substring \ 287targetPath tellTarget toggleHighQuality trace unescape unloadMovie unLoadMovieNum updateAfterEvent 288 289keywords.$(file.patterns.flash)=$(keywordclass.flash) 290keywords2.$(file.patterns.flash)=$(keywordclass2.flash) 291 292keywordclass.vala=if else switch case default break continue return yield for foreach in \ 293do while try catch finally throw 294 295keywordclass2.vala=namespace interface class struct enum delegate signal errordomain \ 296construct get set value base const static var dynamic weak unowned virtual abstract \ 297override public protected private extern throws requires ensures yields out ref lock \ 298using true false null delete generic new this typeof sizeof as owned int string char bool 299 300keywords.$(file.patterns.vala)=$(keywordclass.vala) 301keywords2.$(file.patterns.vala)=$(keywordclass2.vala) 302 303keywordclass.pike=constant enum if do for while else foreach case switch break continue \ 304return typeof catch class lambda import inherit static void int string float mixed object \ 305function program array mapping multiset 306keywords.$(file.patterns.pike)=$(keywordclass.pike) 307 308keywordclass.swift.declarations=class deinit enum extension func import init \ 309internal let operator private protocol public static struct subscript typealias var 310keywordclass.swift.statements=break case continue default do else fallthrough \ 311for if in return switch where while 312keywordclass.swift.expressions=as dynamicType false is nil self Self super \ 313true __COLUMN__ __FILE__ __FUNCTION__ __LINE__ 314# The contextual keywords are only keywords in particular contexts 315keywordclass.swift.contextual=associativity convenience dynamic didSet final get \ 316infix inout lazy left mutating none nonmutating optional override postfix \ 317precedence prefix Protocol required right set Type unowned weak willSet 318 319keywords.$(file.patterns.swift)=$(keywordclass.swift.declarations) \ 320$(keywordclass.swift.statements) $(keywordclass.swift.expressions) \ 321$(keywordclass.swift.contextual) 322 323keywords.$(file.patterns.meson)=if else elif endif 324keywords2.$(file.patterns.meson)=import meson project \ 325executable static_library shared_library dependencies \ 326include_directories get_option get_compiler get_id compile_resources \ 327cpp_args link_args override_options name_prefix link_with 328 329# Substyles can be used for extra lists of highlighted identifiers and doc comment keywords 330# Identifiers 331#substyles.cpp.11=2 332#substylewords.11.1.$(file.patterns.cpp)=std map string vector 333#style.cpp.11.1=fore:#EE00AA 334#style.cpp.75.1=$(style.cpp.75),fore:#BB6666 335# Doc comment keywords 336#substyles.cpp.17=1 337#style.cpp.17.1=$(style.cpp.17),fore:#00AAEE 338#style.cpp.81.1=$(style.cpp.81),fore:#6699AA 339#substylewords.17.1.$(file.patterns.cpp)=check 340 341# Markers 342# keywords6.$(file.patterns.c.like)=FIXME TODO XXX HACK UnresolvedMergeConflict UNDONE 343 344#styling.within.preprocessor=1 345#lexer.cpp.allow.dollars=1 346#lexer.cpp.track.preprocessor=1 347#lexer.cpp.update.preprocessor=1 348# For C# leave lexer.cpp.verbatim.strings.allow.escapes as 0 but change to 1 for Objective C 349#lexer.cpp.verbatim.strings.allow.escapes=1 350#lexer.cpp.triplequoted.strings=1 351#lexer.cpp.hashquoted.strings=1 352#lexer.cpp.backquoted.strings=1 353#lexer.cpp.escape.sequence=1 354 355#lexer.cpp.escape.sequence=1 356 357# C++ styles 358 359# Default 360style.cpp.32=$(font.base) 361# White space 362style.cpp.0=fore:#808080 363# Comment: /* */. 364style.cpp.1=$(colour.code.comment.box),$(font.code.comment.box) 365# Line Comment: //. 366style.cpp.2=$(colour.code.comment.line),$(font.code.comment.line) 367# Doc comment: block comments beginning with /** or /*! 368style.cpp.3=$(colour.code.comment.doc),$(font.code.comment.doc) 369# Number 370style.cpp.4=$(colour.number) 371# Keyword 372style.cpp.5=$(colour.keyword),bold 373# Double quoted string 374style.cpp.6=$(colour.string) 375# Single quoted string 376style.cpp.7=$(colour.char) 377# UUIDs (only in IDL) 378style.cpp.8=fore:#804080 379# Preprocessor 380style.cpp.9=$(colour.preproc) 381# Operators 382style.cpp.10=$(colour.operator),bold 383# Identifiers 384style.cpp.11= 385# End of line where string is not closed 386style.cpp.12=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled 387# Verbatim strings for C# 388style.cpp.13=fore:#007F00,$(font.monospace),back:#E0FFE0,eolfilled 389# Regular expressions for JavaScript 390style.cpp.14=fore:#3F7F3F,$(font.monospace),back:#E0F0FF,eolfilled 391# Doc Comment Line: line comments beginning with /// or //!. 392style.cpp.15=$(colour.code.comment.doc),$(font.code.comment.doc) 393# Keywords2 394style.cpp.16=fore:#B00040 395# Comment keyword 396style.cpp.17=fore:#3060A0,$(font.code.comment.doc) 397# Comment keyword error 398style.cpp.18=fore:#804020,$(font.code.comment.doc) 399# Global class 400style.cpp.19=fore:#DD9900 401# Raw strings for C++0x 402style.cpp.20=$(colour.string),back:#FFF3FF,eolfilled 403# Triple-quoted strings for Vala 404style.cpp.21=$(font.monospace),fore:#007F00,back:#E0FFE0,eolfilled 405# Hash-quoted strings for Pike 406style.cpp.22=$(font.monospace),fore:#007F00,back:#E7FFD7,eolfilled 407# Preprocessor stream comment 408style.cpp.23=fore:#659900 409# Preprocessor stream doc comment 410style.cpp.24=$(colour.code.comment.doc) 411# User defined literals 412style.cpp.25=fore:#C06000 413# Task Marker 414style.cpp.26=fore:#BE07FF,$(font.code.comment.line) 415# Escape sequence 416style.cpp.27=$(colour.string) 417 418# Inactive states are 64 greater than their active counterparts 419 420# White space 421style.cpp.64=fore:#C0C0C0,$(traits.inactive) 422# Comment: /* */. 423style.cpp.65=$(style.cpp.1),fore:#90B090,$(traits.inactive) 424# Line Comment: //. 425style.cpp.66=$(style.cpp.2),fore:#90B090,$(traits.inactive) 426# Doc comment: block comments beginning with /** or /*! 427style.cpp.67=$(style.cpp.3),fore:#D0D0D0,$(traits.inactive) 428# Number 429style.cpp.68=$(style.cpp.4),fore:#90B0B0,$(traits.inactive) 430# Keyword 431style.cpp.69=$(style.cpp.5),fore:#9090B0,$(traits.inactive) 432# Double quoted string 433style.cpp.70=$(style.cpp.6),fore:#B090B0,$(traits.inactive) 434# Single quoted string 435style.cpp.71=$(style.cpp.7),fore:#B090B0,$(traits.inactive) 436# UUIDs (only in IDL) 437style.cpp.72=$(style.cpp.8),fore:#C0C0C0,$(traits.inactive) 438# Preprocessor 439style.cpp.73=$(style.cpp.9),fore:#B0B090,$(traits.inactive) 440# Operators 441style.cpp.74=$(style.cpp.10),fore:#B0B0B0,$(traits.inactive) 442# Identifiers 443style.cpp.75=$(style.cpp.11),fore:#B0B0B0,$(traits.inactive) 444# End of line where string is not closed 445style.cpp.76=$(style.cpp.12),fore:#000000,$(traits.inactive) 446# Verbatim strings for C# 447style.cpp.77=$(style.cpp.13),fore:#90B090,$(traits.inactive) 448# Regular expressions for JavaScript 449style.cpp.78=$(style.cpp.14),fore:#7FAF7F,$(traits.inactive) 450# Doc Comment Line: line comments beginning with /// or //!. 451style.cpp.79=$(style.cpp.15),fore:#C0C0C0,$(traits.inactive) 452# Keywords2 453style.cpp.80=$(style.cpp.16),fore:#C0C0C0,$(traits.inactive) 454# Comment keyword 455style.cpp.81=$(style.cpp.17),fore:#C0C0C0,$(traits.inactive) 456# Comment keyword error 457style.cpp.82=$(style.cpp.18),fore:#C0C0C0,$(traits.inactive) 458# Raw strings for C++0x 459style.cpp.84=$(style.cpp.20),fore:#B090B0,$(traits.inactive) 460# Triple-quoted strings for Vala 461style.cpp.85=$(style.cpp.21),fore:#90B090,$(traits.inactive) 462# Hash-quoted strings for Pike 463style.cpp.86=$(style.cpp.22),fore:#90B090,$(traits.inactive) 464# Preprocessor stream comment 465style.cpp.87=$(style.cpp.23),fore:#A0C090,$(traits.inactive) 466# Preprocessor stream doc comment 467style.cpp.88=$(style.cpp.23),fore:#C0C0C0,$(traits.inactive) 468# User defined literals 469style.cpp.89=fore:#D7A090,$(traits.inactive) 470# Task Marker 471style.cpp.90=fore:#C3A1CF,$(font.code.comment.line),$(traits.inactive) 472 473# Braces are only matched in operator style 474braces.cpp.style=10 475 476ccopts=-pedantic -Os 477cc=g++ $(ccopts) -c $(FileNameExt) -o $(FileName).o 478ccc=gcc $(ccopts) -c $(FileNameExt) -o $(FileName).o 479 480make.command=make 481command.compile.*.c=$(ccc) -std=c99 482command.build.*.c=$(make.command) 483command.build.*.h=$(make.command) 484command.clean.*.c=$(make.command) clean 485command.clean.*.h=$(make.command) clean 486command.go.*.c=./$(FileName) 487# To make the Go command both compile (if needed) and execute, use this setting: 488#command.go.needs.*.c=gcc $(ccopts) -std=c99 $(FileNameExt) -o $(FileName) 489 490command.compile.$(file.patterns.cplusplus)=$(cc) 491command.build.$(file.patterns.cplusplus)=$(make.command) 492command.clean.$(file.patterns.cplusplus)=$(make.command) clean 493command.go.$(file.patterns.cplusplus)=./$(FileName) 494command.go.needs.$(file.patterns.cplusplus)=g++ $(ccopts) $(FileNameExt) -o $(FileName) 495 496command.name.0.$(file.patterns.cpp)=Indent 497command.0.$(file.patterns.cpp)=astyle --style=attach --indent=force-tab=8 --keep-one-line-blocks \ 498--pad-header --unpad-paren --pad-comma --indent-cases --align-pointer=name --pad-method-prefix \ 499--pad-return-type --pad-param-type --align-method-colon --pad-method-colon=after $(FileNameExt) 500command.is.filter.0.$(file.patterns.cpp)=1 501 502command.name.1.$(file.patterns.cplusplus)=Lint 503command.1.$(file.patterns.cplusplus)=g++ -W -Wall -Wshadow -Wwrite-strings -Wold-style-cast \ 504 -Woverloaded-virtual -pedantic -Os -fno-exceptions -c $(FileNameExt) 505 506if PLAT_WIN 507 command.compile.*.rc=windres $(FileNameExt) $(FileName).o 508 command.build.*.rc=$(make.command) 509 command.help.$(file.patterns.cpp)=$(CurrentWord)!G:\Program Files\Microsoft Visual Studio\MSDN98\98VSa\1033\MSDNVS6A.COL 510 command.help.subsystem.$(file.patterns.cpp)=4 511 command.go.*.js=cscript /nologo $(FileNameExt) 512# When maintaining old Win16 programs... 513# command.help.$(file.patterns.cpp)=$(CurrentWord)!I:\msvc\help\win31wh.hlp 514# command.help.subsystem.$(file.patterns.cpp)=5 515 516if PLAT_GTK 517 command.help.$(file.patterns.cpp)=man $(CurrentWord) | col -b 518 519if PLAT_WIN 520 command.build.*.cs=csc /t:winexe $(FileNameExt) /r:system.dll,system.drawing.dll 521 command.go.*.cs=$(FileName) 522 command.go.subsystem.*.cs=0 523if PLAT_GTK 524 command.build.*.cs=mcs /t:winexe $(FileNameExt) /r:System,System.Drawing 525 command.go.*.cs=mono $(FileName).exe 526 command.go.subsystem.*.cs=1 527 528command.compile.*.java=javac $(FileNameExt) 529command.build.*.java=javac *.java 530command.go.*.java=java -cp . $(FileName) 531 532if PLAT_WIN 533 command.help.*.java=http://java.sun.com/javase/6/docs/api/java/util/$(CurrentWord).html 534 command.help.subsystem.*.java=2 535 536command.compile.*.ch=ch -n $(FileNameExt) 537command.build.*.ch=ch -n $(FileNameExt) 538command.go.*.ch=ch -u $(FileNameExt) 539 540command.compile.*.as=mtasc -strict $(FileNameExt) 541command.build.*.as=mtasc -strict *.as 542 543command.build.$(file.patterns.vala)=valac $(FileNameExt) 544command.go.*.vala=./$(FileName) 545 546# can also be 6g for 64-bit systems! 547command.compile.*.go=8g $(FileNameExt) 548command.build.*.go=$(make.command) 549command.go.*.go=./$(FileName) 550 551command.compile.*.ts=tsc $(FileNameExt) 552