Showing preview only (4,935K chars total). Download the full file or copy to clipboard to get everything.
Repository: ScintillaOrg/lexilla
Branch: master
Commit: a0bc11ea70ae
Files: 896
Total size: 4.5 MB
Directory structure:
gitextract_ht4415_4/
├── .gitattributes
├── .github/
│ └── workflows/
│ ├── build-check-macos.yml
│ ├── build-check-win32.yml
│ └── build-check.yml
├── .gitignore
├── .travis.yml
├── CONTRIBUTING
├── License.txt
├── README
├── access/
│ ├── LexillaAccess.cxx
│ ├── LexillaAccess.h
│ └── README
├── bin/
│ └── empty.txt
├── cppcheck.suppress
├── delbin.bat
├── doc/
│ ├── Lexilla.html
│ ├── LexillaDoc.html
│ ├── LexillaDownload.html
│ └── LexillaHistory.html
├── examples/
│ ├── CheckLexilla/
│ │ ├── CheckLexilla.c
│ │ └── makefile
│ └── SimpleLexer/
│ ├── SimpleLexer.cxx
│ └── makefile
├── include/
│ ├── LexicalStyles.iface
│ ├── Lexilla.h
│ └── SciLexer.h
├── lexers/
│ ├── LexA68k.cxx
│ ├── LexAPDL.cxx
│ ├── LexASY.cxx
│ ├── LexAU3.cxx
│ ├── LexAVE.cxx
│ ├── LexAVS.cxx
│ ├── LexAbaqus.cxx
│ ├── LexAda.cxx
│ ├── LexAsciidoc.cxx
│ ├── LexAsm.cxx
│ ├── LexAsn1.cxx
│ ├── LexBaan.cxx
│ ├── LexBash.cxx
│ ├── LexBasic.cxx
│ ├── LexBatch.cxx
│ ├── LexBibTeX.cxx
│ ├── LexBullant.cxx
│ ├── LexCIL.cxx
│ ├── LexCLW.cxx
│ ├── LexCOBOL.cxx
│ ├── LexCPP.cxx
│ ├── LexCSS.cxx
│ ├── LexCaml.cxx
│ ├── LexCmake.cxx
│ ├── LexCoffeeScript.cxx
│ ├── LexConf.cxx
│ ├── LexCrontab.cxx
│ ├── LexCsound.cxx
│ ├── LexD.cxx
│ ├── LexDMAP.cxx
│ ├── LexDMIS.cxx
│ ├── LexDart.cxx
│ ├── LexDataflex.cxx
│ ├── LexDiff.cxx
│ ├── LexECL.cxx
│ ├── LexEDIFACT.cxx
│ ├── LexEScript.cxx
│ ├── LexEiffel.cxx
│ ├── LexErlang.cxx
│ ├── LexErrorList.cxx
│ ├── LexEscSeq.cxx
│ ├── LexFSharp.cxx
│ ├── LexFlagship.cxx
│ ├── LexForth.cxx
│ ├── LexFortran.cxx
│ ├── LexGAP.cxx
│ ├── LexGDScript.cxx
│ ├── LexGui4Cli.cxx
│ ├── LexHTML.cxx
│ ├── LexHaskell.cxx
│ ├── LexHex.cxx
│ ├── LexHollywood.cxx
│ ├── LexIndent.cxx
│ ├── LexInno.cxx
│ ├── LexJSON.cxx
│ ├── LexJulia.cxx
│ ├── LexKVIrc.cxx
│ ├── LexKix.cxx
│ ├── LexLaTeX.cxx
│ ├── LexLisp.cxx
│ ├── LexLout.cxx
│ ├── LexLua.cxx
│ ├── LexMMIXAL.cxx
│ ├── LexMPT.cxx
│ ├── LexMSSQL.cxx
│ ├── LexMagik.cxx
│ ├── LexMake.cxx
│ ├── LexMarkdown.cxx
│ ├── LexMatlab.cxx
│ ├── LexMaxima.cxx
│ ├── LexMetapost.cxx
│ ├── LexModula.cxx
│ ├── LexMySQL.cxx
│ ├── LexNim.cxx
│ ├── LexNimrod.cxx
│ ├── LexNix.cxx
│ ├── LexNsis.cxx
│ ├── LexNull.cxx
│ ├── LexOScript.cxx
│ ├── LexOpal.cxx
│ ├── LexPB.cxx
│ ├── LexPLM.cxx
│ ├── LexPO.cxx
│ ├── LexPOV.cxx
│ ├── LexPS.cxx
│ ├── LexPascal.cxx
│ ├── LexPerl.cxx
│ ├── LexPowerPro.cxx
│ ├── LexPowerShell.cxx
│ ├── LexProgress.cxx
│ ├── LexProps.cxx
│ ├── LexPython.cxx
│ ├── LexR.cxx
│ ├── LexRaku.cxx
│ ├── LexRebol.cxx
│ ├── LexRegistry.cxx
│ ├── LexRuby.cxx
│ ├── LexRust.cxx
│ ├── LexSAS.cxx
│ ├── LexSINEX.cxx
│ ├── LexSML.cxx
│ ├── LexSQL.cxx
│ ├── LexSTTXT.cxx
│ ├── LexScriptol.cxx
│ ├── LexSmalltalk.cxx
│ ├── LexSorcus.cxx
│ ├── LexSpecman.cxx
│ ├── LexSpice.cxx
│ ├── LexStata.cxx
│ ├── LexTACL.cxx
│ ├── LexTADS3.cxx
│ ├── LexTAL.cxx
│ ├── LexTCL.cxx
│ ├── LexTCMD.cxx
│ ├── LexTOML.cxx
│ ├── LexTeX.cxx
│ ├── LexTroff.cxx
│ ├── LexTxt2tags.cxx
│ ├── LexVB.cxx
│ ├── LexVHDL.cxx
│ ├── LexVerilog.cxx
│ ├── LexVisualProlog.cxx
│ ├── LexX12.cxx
│ ├── LexYAML.cxx
│ └── LexZig.cxx
├── lexlib/
│ ├── Accessor.cxx
│ ├── Accessor.h
│ ├── CatalogueModules.h
│ ├── CharacterCategory.cxx
│ ├── CharacterCategory.h
│ ├── CharacterSet.cxx
│ ├── CharacterSet.h
│ ├── DefaultLexer.cxx
│ ├── DefaultLexer.h
│ ├── InList.cxx
│ ├── InList.h
│ ├── LexAccessor.cxx
│ ├── LexAccessor.h
│ ├── LexerBase.cxx
│ ├── LexerBase.h
│ ├── LexerModule.cxx
│ ├── LexerModule.h
│ ├── LexerSimple.cxx
│ ├── LexerSimple.h
│ ├── OptionSet.h
│ ├── PropSetSimple.cxx
│ ├── PropSetSimple.h
│ ├── SparseState.h
│ ├── StringCopy.h
│ ├── StyleContext.cxx
│ ├── StyleContext.h
│ ├── SubStyles.h
│ ├── WordList.cxx
│ └── WordList.h
├── scripts/
│ ├── HeaderOrder.txt
│ ├── LexFacer.py
│ ├── LexillaData.py
│ ├── LexillaGen.py
│ ├── LexillaLogo.py
│ ├── PromoteNew.bat
│ ├── RunTest.bat
│ └── RunTest.sh
├── src/
│ ├── DepGen.py
│ ├── Lexilla/
│ │ ├── Info.plist
│ │ └── Lexilla.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ ├── Lexilla.cxx
│ ├── Lexilla.def
│ ├── Lexilla.pro
│ ├── Lexilla.ruleset
│ ├── Lexilla.vcxproj
│ ├── LexillaVersion.rc
│ ├── deps.mak
│ ├── lexilla.mak
│ ├── makefile
│ └── nmdeps.mak
├── test/
│ ├── Metadata/
│ │ ├── CheckMeta.py
│ │ ├── Metadata.cxx
│ │ ├── lexerMetadata.txt
│ │ └── makefile
│ ├── README
│ ├── TestDocument.cxx
│ ├── TestDocument.h
│ ├── TestLexers.cxx
│ ├── TestLexers.vcxproj
│ ├── examples/
│ │ ├── asciidoc/
│ │ │ ├── AllStyles.adoc
│ │ │ ├── AllStyles.adoc.folded
│ │ │ ├── AllStyles.adoc.styled
│ │ │ └── SciTE.properties
│ │ ├── asm/
│ │ │ ├── AllStyles.asm
│ │ │ ├── AllStyles.asm.folded
│ │ │ ├── AllStyles.asm.styled
│ │ │ └── SciTE.properties
│ │ ├── bash/
│ │ │ ├── 197ArithmeticOperator.bsh
│ │ │ ├── 197ArithmeticOperator.bsh.folded
│ │ │ ├── 197ArithmeticOperator.bsh.styled
│ │ │ ├── 199Numbers.bsh
│ │ │ ├── 199Numbers.bsh.folded
│ │ │ ├── 199Numbers.bsh.styled
│ │ │ ├── 202LineStartOption.bsh
│ │ │ ├── 202LineStartOption.bsh.folded
│ │ │ ├── 202LineStartOption.bsh.styled
│ │ │ ├── 203TestOption.bsh
│ │ │ ├── 203TestOption.bsh.folded
│ │ │ ├── 203TestOption.bsh.styled
│ │ │ ├── 257Delimiter.bsh
│ │ │ ├── 257Delimiter.bsh.folded
│ │ │ ├── 257Delimiter.bsh.styled
│ │ │ ├── AllStyles.bsh
│ │ │ ├── AllStyles.bsh.folded
│ │ │ ├── AllStyles.bsh.styled
│ │ │ ├── Issue180.bsh
│ │ │ ├── Issue180.bsh.folded
│ │ │ ├── Issue180.bsh.styled
│ │ │ ├── Issue182.bsh
│ │ │ ├── Issue182.bsh.folded
│ │ │ ├── Issue182.bsh.styled
│ │ │ ├── Issue184.bsh
│ │ │ ├── Issue184.bsh.folded
│ │ │ ├── Issue184.bsh.styled
│ │ │ ├── Issue184Copy.bsh
│ │ │ ├── Issue184Copy.bsh.folded
│ │ │ ├── Issue184Copy.bsh.styled
│ │ │ ├── Nested.bsh
│ │ │ ├── Nested.bsh.folded
│ │ │ ├── Nested.bsh.styled
│ │ │ ├── NestedRich.bsh
│ │ │ ├── NestedRich.bsh.folded
│ │ │ ├── NestedRich.bsh.styled
│ │ │ ├── NestedStyledInside.bsh
│ │ │ ├── NestedStyledInside.bsh.folded
│ │ │ ├── NestedStyledInside.bsh.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── continuation.bsh
│ │ │ ├── continuation.bsh.folded
│ │ │ ├── continuation.bsh.styled
│ │ │ ├── hash.zsh
│ │ │ ├── hash.zsh.folded
│ │ │ ├── hash.zsh.styled
│ │ │ ├── x.bsh
│ │ │ ├── x.bsh.folded
│ │ │ └── x.bsh.styled
│ │ ├── batch/
│ │ │ ├── Issue115.bat
│ │ │ ├── Issue115.bat.folded
│ │ │ ├── Issue115.bat.styled
│ │ │ ├── Issue222.bat
│ │ │ ├── Issue222.bat.folded
│ │ │ ├── Issue222.bat.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── x.bat
│ │ │ ├── x.bat.folded
│ │ │ └── x.bat.styled
│ │ ├── caml/
│ │ │ ├── AllStyles.ml
│ │ │ ├── AllStyles.ml.folded
│ │ │ ├── AllStyles.ml.styled
│ │ │ └── SciTE.properties
│ │ ├── cmake/
│ │ │ ├── Bug77_0.cmake
│ │ │ ├── Bug77_0.cmake.folded
│ │ │ ├── Bug77_0.cmake.styled
│ │ │ ├── Bug77_1.cmake
│ │ │ ├── Bug77_1.cmake.folded
│ │ │ ├── Bug77_1.cmake.styled
│ │ │ └── SciTE.properties
│ │ ├── cobol/
│ │ │ ├── 229.cob
│ │ │ ├── 229.cob.folded
│ │ │ ├── 229.cob.styled
│ │ │ ├── 230.cob
│ │ │ ├── 230.cob.folded
│ │ │ ├── 230.cob.styled
│ │ │ ├── 231.cob
│ │ │ ├── 231.cob.folded
│ │ │ ├── 231.cob.styled
│ │ │ ├── AllStyles.cob
│ │ │ ├── AllStyles.cob.folded
│ │ │ ├── AllStyles.cob.styled
│ │ │ └── SciTE.properties
│ │ ├── cpp/
│ │ │ ├── 130NonAsciiKeyword.cxx
│ │ │ ├── 130NonAsciiKeyword.cxx.folded
│ │ │ ├── 130NonAsciiKeyword.cxx.styled
│ │ │ ├── 149KeywordCase.cxx
│ │ │ ├── 149KeywordCase.cxx.folded
│ │ │ ├── 149KeywordCase.cxx.styled
│ │ │ ├── 48HashNotPreProcessor.cxx
│ │ │ ├── 48HashNotPreProcessor.cxx.folded
│ │ │ ├── 48HashNotPreProcessor.cxx.styled
│ │ │ ├── 94Template.cxx
│ │ │ ├── 94Template.cxx.folded
│ │ │ ├── 94Template.cxx.styled
│ │ │ ├── AllStyles.cxx
│ │ │ ├── AllStyles.cxx.folded
│ │ │ ├── AllStyles.cxx.styled
│ │ │ ├── Bug2245.cxx
│ │ │ ├── Bug2245.cxx.folded
│ │ │ ├── Bug2245.cxx.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── x.cxx
│ │ │ ├── x.cxx.folded
│ │ │ └── x.cxx.styled
│ │ ├── css/
│ │ │ ├── AllStyles.css
│ │ │ ├── AllStyles.css.folded
│ │ │ ├── AllStyles.css.styled
│ │ │ └── SciTE.properties
│ │ ├── d/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.d
│ │ │ ├── x.d.folded
│ │ │ └── x.d.styled
│ │ ├── dart/
│ │ │ ├── AllStyles.dart
│ │ │ ├── AllStyles.dart.folded
│ │ │ ├── AllStyles.dart.styled
│ │ │ └── SciTE.properties
│ │ ├── diff/
│ │ │ ├── AllStyles.diff
│ │ │ ├── AllStyles.diff.folded
│ │ │ ├── AllStyles.diff.styled
│ │ │ ├── LongLine.diff
│ │ │ ├── LongLine.diff.folded
│ │ │ ├── LongLine.diff.styled
│ │ │ └── SciTE.properties
│ │ ├── erlang/
│ │ │ ├── AllStyles.erl
│ │ │ ├── AllStyles.erl.folded
│ │ │ ├── AllStyles.erl.styled
│ │ │ └── SciTE.properties
│ │ ├── errorlist/
│ │ │ ├── AllStyles.err
│ │ │ ├── AllStyles.err.folded
│ │ │ ├── AllStyles.err.styled
│ │ │ ├── BoldOrBright.err
│ │ │ ├── BoldOrBright.err.folded
│ │ │ ├── BoldOrBright.err.styled
│ │ │ └── SciTE.properties
│ │ ├── escseq/
│ │ │ ├── SciTE.properties
│ │ │ ├── colourText0.ans
│ │ │ ├── colourText0.ans.folded
│ │ │ ├── colourText0.ans.styled
│ │ │ ├── colourText1.ans
│ │ │ ├── colourText1.ans.folded
│ │ │ └── colourText1.ans.styled
│ │ ├── forth/
│ │ │ ├── AllStyles.forth
│ │ │ ├── AllStyles.forth.folded
│ │ │ ├── AllStyles.forth.styled
│ │ │ ├── Issue351.forth
│ │ │ ├── Issue351.forth.folded
│ │ │ ├── Issue351.forth.styled
│ │ │ └── SciTE.properties
│ │ ├── fortran/
│ │ │ ├── AllStyles.f
│ │ │ ├── AllStyles.f.folded
│ │ │ ├── AllStyles.f.styled
│ │ │ └── SciTE.properties
│ │ ├── fsharp/
│ │ │ ├── FmtSpecs.fs
│ │ │ ├── FmtSpecs.fs.folded
│ │ │ ├── FmtSpecs.fs.styled
│ │ │ ├── Issue352.fs
│ │ │ ├── Issue352.fs.folded
│ │ │ ├── Issue352.fs.styled
│ │ │ ├── Issue56.fs
│ │ │ ├── Issue56.fs.folded
│ │ │ ├── Issue56.fs.styled
│ │ │ ├── Issue93.fs
│ │ │ ├── Issue93.fs.folded
│ │ │ ├── Issue93.fs.styled
│ │ │ ├── Literals.fs
│ │ │ ├── Literals.fs.folded
│ │ │ ├── Literals.fs.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── x.fs
│ │ │ ├── x.fs.folded
│ │ │ └── x.fs.styled
│ │ ├── gdscript/
│ │ │ ├── AllStyles.gd
│ │ │ ├── AllStyles.gd.folded
│ │ │ ├── AllStyles.gd.styled
│ │ │ ├── NodePath.gd
│ │ │ ├── NodePath.gd.folded
│ │ │ ├── NodePath.gd.styled
│ │ │ └── SciTE.properties
│ │ ├── gui4cli/
│ │ │ ├── AllStyles.gui
│ │ │ ├── AllStyles.gui.folded
│ │ │ ├── AllStyles.gui.styled
│ │ │ └── SciTE.properties
│ │ ├── hypertext/
│ │ │ ├── Bug2207.html
│ │ │ ├── Bug2207.html.folded
│ │ │ ├── Bug2207.html.styled
│ │ │ ├── Bug2219.html
│ │ │ ├── Bug2219.html.folded
│ │ │ ├── Bug2219.html.styled
│ │ │ ├── Issue19.php
│ │ │ ├── Issue19.php.folded
│ │ │ ├── Issue19.php.styled
│ │ │ ├── Issue192.html
│ │ │ ├── Issue192.html.folded
│ │ │ ├── Issue192.html.styled
│ │ │ ├── Issue20Numbers.php
│ │ │ ├── Issue20Numbers.php.folded
│ │ │ ├── Issue20Numbers.php.styled
│ │ │ ├── Issue250RegEx.html
│ │ │ ├── Issue250RegEx.html.folded
│ │ │ ├── Issue250RegEx.html.styled
│ │ │ ├── Issue252Tag.php
│ │ │ ├── Issue252Tag.php.folded
│ │ │ ├── Issue252Tag.php.styled
│ │ │ ├── Issue259CaseLower.html
│ │ │ ├── Issue259CaseLower.html.folded
│ │ │ ├── Issue259CaseLower.html.styled
│ │ │ ├── Issue272SGML.xml
│ │ │ ├── Issue272SGML.xml.folded
│ │ │ ├── Issue272SGML.xml.styled
│ │ │ ├── Issue273JavaScript.html
│ │ │ ├── Issue273JavaScript.html.folded
│ │ │ ├── Issue273JavaScript.html.styled
│ │ │ ├── Issue288.php
│ │ │ ├── Issue288.php.folded
│ │ │ ├── Issue288.php.styled
│ │ │ ├── Issue338.html
│ │ │ ├── Issue338.html.folded
│ │ │ ├── Issue338.html.styled
│ │ │ ├── Issue340BadSGML.html
│ │ │ ├── Issue340BadSGML.html.folded
│ │ │ ├── Issue340BadSGML.html.styled
│ │ │ ├── Issue47.html
│ │ │ ├── Issue47.html.folded
│ │ │ ├── Issue47.html.styled
│ │ │ ├── Issue53.html
│ │ │ ├── Issue53.html.folded
│ │ │ ├── Issue53.html.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── ServerBasic.aspx
│ │ │ ├── ServerBasic.aspx.folded
│ │ │ ├── ServerBasic.aspx.styled
│ │ │ ├── ServerJavaScript.aspx
│ │ │ ├── ServerJavaScript.aspx.folded
│ │ │ ├── ServerJavaScript.aspx.styled
│ │ │ ├── apostophe.php
│ │ │ ├── apostophe.php.folded
│ │ │ ├── apostophe.php.styled
│ │ │ ├── comment.html
│ │ │ ├── comment.html.folded
│ │ │ ├── comment.html.styled
│ │ │ ├── mako.html
│ │ │ ├── mako.html.folded
│ │ │ ├── mako.html.styled
│ │ │ ├── x.asp
│ │ │ ├── x.asp.folded
│ │ │ ├── x.asp.styled
│ │ │ ├── x.html
│ │ │ ├── x.html.folded
│ │ │ ├── x.html.styled
│ │ │ ├── x.php
│ │ │ ├── x.php.folded
│ │ │ └── x.php.styled
│ │ ├── inno/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.iss
│ │ │ ├── x.iss.folded
│ │ │ └── x.iss.styled
│ │ ├── json/
│ │ │ ├── AllStyles.json
│ │ │ ├── AllStyles.json.folded
│ │ │ ├── AllStyles.json.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── embedded_0.json
│ │ │ ├── embedded_0.json.folded
│ │ │ ├── embedded_0.json.styled
│ │ │ ├── embedded_1.json
│ │ │ ├── embedded_1.json.folded
│ │ │ ├── embedded_1.json.styled
│ │ │ ├── processed_0.json
│ │ │ ├── processed_0.json.folded
│ │ │ ├── processed_0.json.styled
│ │ │ ├── processed_esc_0.json
│ │ │ ├── processed_esc_0.json.folded
│ │ │ ├── processed_esc_0.json.styled
│ │ │ ├── processed_esc_1.json
│ │ │ ├── processed_esc_1.json.folded
│ │ │ └── processed_esc_1.json.styled
│ │ ├── julia/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.jl
│ │ │ ├── x.jl.folded
│ │ │ └── x.jl.styled
│ │ ├── latex/
│ │ │ ├── AllStyles.tex
│ │ │ ├── AllStyles.tex.folded
│ │ │ ├── AllStyles.tex.styled
│ │ │ ├── CornerCases.tex
│ │ │ ├── CornerCases.tex.folded
│ │ │ ├── CornerCases.tex.styled
│ │ │ ├── EndOfFile1.tex
│ │ │ ├── EndOfFile1.tex.folded
│ │ │ ├── EndOfFile1.tex.styled
│ │ │ ├── EndOfFile2.tex
│ │ │ ├── EndOfFile2.tex.folded
│ │ │ ├── EndOfFile2.tex.styled
│ │ │ ├── EndOfFile3.tex
│ │ │ ├── EndOfFile3.tex.folded
│ │ │ ├── EndOfFile3.tex.styled
│ │ │ ├── EndOfFile4.tex
│ │ │ ├── EndOfFile4.tex.folded
│ │ │ ├── EndOfFile4.tex.styled
│ │ │ ├── EndOfFile5.tex
│ │ │ ├── EndOfFile5.tex.folded
│ │ │ ├── EndOfFile5.tex.styled
│ │ │ ├── EndOfFile6.tex
│ │ │ ├── EndOfFile6.tex.folded
│ │ │ ├── EndOfFile6.tex.styled
│ │ │ ├── EndOfFile7.tex
│ │ │ ├── EndOfFile7.tex.folded
│ │ │ ├── EndOfFile7.tex.styled
│ │ │ ├── Feature1358.tex
│ │ │ ├── Feature1358.tex.folded
│ │ │ ├── Feature1358.tex.styled
│ │ │ └── SciTE.properties
│ │ ├── lua/
│ │ │ ├── AllStyles.lua
│ │ │ ├── AllStyles.lua.folded
│ │ │ ├── AllStyles.lua.styled
│ │ │ ├── Bug2205.lua
│ │ │ ├── Bug2205.lua.folded
│ │ │ ├── Bug2205.lua.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── folding.lua
│ │ │ ├── folding.lua.folded
│ │ │ ├── folding.lua.styled
│ │ │ ├── nonASCII242.lua
│ │ │ ├── nonASCII242.lua.folded
│ │ │ ├── nonASCII242.lua.styled
│ │ │ ├── x.lua
│ │ │ ├── x.lua.folded
│ │ │ └── x.lua.styled
│ │ ├── makefile/
│ │ │ ├── 40Comment.mak
│ │ │ ├── 40Comment.mak.folded
│ │ │ ├── 40Comment.mak.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── longline.mak
│ │ │ ├── longline.mak.folded
│ │ │ ├── longline.mak.styled
│ │ │ ├── x.mak
│ │ │ ├── x.mak.folded
│ │ │ └── x.mak.styled
│ │ ├── markdown/
│ │ │ ├── AllStyles.md
│ │ │ ├── AllStyles.md.folded
│ │ │ ├── AllStyles.md.styled
│ │ │ ├── Bug1216.md
│ │ │ ├── Bug1216.md.folded
│ │ │ ├── Bug1216.md.styled
│ │ │ ├── Bug2235.md
│ │ │ ├── Bug2235.md.folded
│ │ │ ├── Bug2235.md.styled
│ │ │ ├── Bug2247.md
│ │ │ ├── Bug2247.md.folded
│ │ │ ├── Bug2247.md.styled
│ │ │ ├── HeaderEOLFill_0.md
│ │ │ ├── HeaderEOLFill_0.md.folded
│ │ │ ├── HeaderEOLFill_0.md.styled
│ │ │ ├── HeaderEOLFill_1.md
│ │ │ ├── HeaderEOLFill_1.md.folded
│ │ │ ├── HeaderEOLFill_1.md.styled
│ │ │ ├── Issue117.md
│ │ │ ├── Issue117.md.folded
│ │ │ ├── Issue117.md.styled
│ │ │ └── SciTE.properties
│ │ ├── matlab/
│ │ │ ├── AllStyles.m.matlab
│ │ │ ├── AllStyles.m.matlab.folded
│ │ │ ├── AllStyles.m.matlab.styled
│ │ │ ├── AllStyles.m.octave
│ │ │ ├── AllStyles.m.octave.folded
│ │ │ ├── AllStyles.m.octave.styled
│ │ │ ├── ArgumentsBlock.m.matlab
│ │ │ ├── ArgumentsBlock.m.matlab.folded
│ │ │ ├── ArgumentsBlock.m.matlab.styled
│ │ │ ├── ClassDefinition.m.matlab
│ │ │ ├── ClassDefinition.m.matlab.folded
│ │ │ ├── ClassDefinition.m.matlab.styled
│ │ │ ├── FoldPoints.m.matlab
│ │ │ ├── FoldPoints.m.matlab.folded
│ │ │ ├── FoldPoints.m.matlab.styled
│ │ │ ├── Issue18_EscapeSequence.m.matlab
│ │ │ ├── Issue18_EscapeSequence.m.matlab.folded
│ │ │ ├── Issue18_EscapeSequence.m.matlab.styled
│ │ │ ├── Issue18_EscapeSequence.m.octave
│ │ │ ├── Issue18_EscapeSequence.m.octave.folded
│ │ │ ├── Issue18_EscapeSequence.m.octave.styled
│ │ │ ├── NumericLiterals.m.matlab
│ │ │ ├── NumericLiterals.m.matlab.folded
│ │ │ ├── NumericLiterals.m.matlab.styled
│ │ │ └── SciTE.properties
│ │ ├── mmixal/
│ │ │ ├── AllStyles.mms
│ │ │ ├── AllStyles.mms.folded
│ │ │ ├── AllStyles.mms.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── references.mms
│ │ │ ├── references.mms.folded
│ │ │ ├── references.mms.styled
│ │ │ ├── x.mms
│ │ │ ├── x.mms.folded
│ │ │ └── x.mms.styled
│ │ ├── modula/
│ │ │ ├── 128Endless.m3
│ │ │ ├── 128Endless.m3.folded
│ │ │ ├── 128Endless.m3.styled
│ │ │ ├── Issue129.m3
│ │ │ ├── Issue129.m3.folded
│ │ │ ├── Issue129.m3.styled
│ │ │ ├── Issue297.m3
│ │ │ ├── Issue297.m3.folded
│ │ │ ├── Issue297.m3.styled
│ │ │ └── SciTE.properties
│ │ ├── mssql/
│ │ │ ├── AllStyles.tsql
│ │ │ ├── AllStyles.tsql.folded
│ │ │ ├── AllStyles.tsql.styled
│ │ │ ├── Issue87.tsql
│ │ │ ├── Issue87.tsql.folded
│ │ │ ├── Issue87.tsql.styled
│ │ │ ├── Issue90.tsql
│ │ │ ├── Issue90.tsql.folded
│ │ │ ├── Issue90.tsql.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── Various.tsql
│ │ │ ├── Various.tsql.folded
│ │ │ └── Various.tsql.styled
│ │ ├── mysql/
│ │ │ ├── AllStyles.sql
│ │ │ ├── AllStyles.sql.folded
│ │ │ ├── AllStyles.sql.styled
│ │ │ └── SciTE.properties
│ │ ├── nim/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.nim
│ │ │ ├── x.nim.folded
│ │ │ └── x.nim.styled
│ │ ├── nix/
│ │ │ ├── AllStyles.nix
│ │ │ ├── AllStyles.nix.folded
│ │ │ ├── AllStyles.nix.styled
│ │ │ └── SciTE.properties
│ │ ├── pascal/
│ │ │ ├── AllStyles.pas
│ │ │ ├── AllStyles.pas.folded
│ │ │ ├── AllStyles.pas.styled
│ │ │ ├── CodeFolding.pas
│ │ │ ├── CodeFolding.pas.folded
│ │ │ ├── CodeFolding.pas.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── SomeExample.pas
│ │ │ ├── SomeExample.pas.folded
│ │ │ └── SomeExample.pas.styled
│ │ ├── perl/
│ │ │ ├── SciTE.properties
│ │ │ ├── class.pl
│ │ │ ├── class.pl.folded
│ │ │ ├── class.pl.styled
│ │ │ ├── perl-test-5220delta.pl
│ │ │ ├── perl-test-5220delta.pl.folded
│ │ │ ├── perl-test-5220delta.pl.styled
│ │ │ ├── perl-test-sub-prototypes.pl
│ │ │ ├── perl-test-sub-prototypes.pl.folded
│ │ │ ├── perl-test-sub-prototypes.pl.styled
│ │ │ ├── x.pl
│ │ │ ├── x.pl.folded
│ │ │ └── x.pl.styled
│ │ ├── powershell/
│ │ │ ├── AllStyles.ps1
│ │ │ ├── AllStyles.ps1.folded
│ │ │ ├── AllStyles.ps1.styled
│ │ │ ├── CharacterTruncation.ps1
│ │ │ ├── CharacterTruncation.ps1.folded
│ │ │ ├── CharacterTruncation.ps1.styled
│ │ │ ├── NumericLiterals.ps1
│ │ │ ├── NumericLiterals.ps1.folded
│ │ │ ├── NumericLiterals.ps1.styled
│ │ │ ├── Pull92.ps1
│ │ │ ├── Pull92.ps1.folded
│ │ │ ├── Pull92.ps1.styled
│ │ │ ├── Pull99Comment.ps1
│ │ │ ├── Pull99Comment.ps1.folded
│ │ │ ├── Pull99Comment.ps1.styled
│ │ │ └── SciTE.properties
│ │ ├── progress/
│ │ │ ├── SciTE.properties
│ │ │ ├── annotations.p
│ │ │ ├── annotations.p.folded
│ │ │ ├── annotations.p.styled
│ │ │ ├── comment_test.p
│ │ │ ├── comment_test.p.folded
│ │ │ ├── comment_test.p.styled
│ │ │ ├── compound_id.p
│ │ │ ├── compound_id.p.folded
│ │ │ └── compound_id.p.styled
│ │ ├── props/
│ │ │ ├── Issue96Folding.props
│ │ │ ├── Issue96Folding.props.folded
│ │ │ ├── Issue96Folding.props.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── example.session
│ │ │ ├── example.session.folded
│ │ │ └── example.session.styled
│ │ ├── python/
│ │ │ ├── AllStyles.py
│ │ │ ├── AllStyles.py.folded
│ │ │ ├── AllStyles.py.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── attributes/
│ │ │ │ ├── SciTE.properties
│ │ │ │ ├── attrib-decorator.py
│ │ │ │ ├── attrib-decorator.py.folded
│ │ │ │ ├── attrib-decorator.py.styled
│ │ │ │ ├── attrib-id.py
│ │ │ │ ├── attrib-id.py.folded
│ │ │ │ ├── attrib-id.py.styled
│ │ │ │ ├── attributes.py
│ │ │ │ ├── attributes.py.folded
│ │ │ │ └── attributes.py.styled
│ │ │ ├── f-strings.py
│ │ │ ├── f-strings.py.folded
│ │ │ ├── f-strings.py.styled
│ │ │ ├── matchcase.py
│ │ │ ├── matchcase.py.folded
│ │ │ ├── matchcase.py.styled
│ │ │ ├── strings.py
│ │ │ ├── strings.py.folded
│ │ │ ├── strings.py.styled
│ │ │ ├── t-strings.py
│ │ │ ├── t-strings.py.folded
│ │ │ ├── t-strings.py.styled
│ │ │ ├── x.py
│ │ │ ├── x.py.folded
│ │ │ └── x.py.styled
│ │ ├── r/
│ │ │ ├── 102Backticks.r
│ │ │ ├── 102Backticks.r.folded
│ │ │ ├── 102Backticks.r.styled
│ │ │ ├── AllStyles.r
│ │ │ ├── AllStyles.r.folded
│ │ │ ├── AllStyles.r.styled
│ │ │ └── SciTE.properties
│ │ ├── raku/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.p6
│ │ │ ├── x.p6.folded
│ │ │ └── x.p6.styled
│ │ ├── ruby/
│ │ │ ├── 225NumberDotMethod.rb
│ │ │ ├── 225NumberDotMethod.rb.folded
│ │ │ ├── 225NumberDotMethod.rb.styled
│ │ │ ├── 234HereDoc.rb
│ │ │ ├── 234HereDoc.rb.folded
│ │ │ ├── 234HereDoc.rb.styled
│ │ │ ├── AllStyles.rb
│ │ │ ├── AllStyles.rb.folded
│ │ │ ├── AllStyles.rb.styled
│ │ │ ├── Issue132.rb
│ │ │ ├── Issue132.rb.folded
│ │ │ ├── Issue132.rb.styled
│ │ │ ├── Issue135.rb
│ │ │ ├── Issue135.rb.folded
│ │ │ ├── Issue135.rb.styled
│ │ │ ├── Issue136.rb
│ │ │ ├── Issue136.rb.folded
│ │ │ ├── Issue136.rb.styled
│ │ │ ├── Issue140.rb
│ │ │ ├── Issue140.rb.folded
│ │ │ ├── Issue140.rb.styled
│ │ │ ├── Issue65.rb
│ │ │ ├── Issue65.rb.folded
│ │ │ ├── Issue65.rb.styled
│ │ │ ├── Issue66.rb
│ │ │ ├── Issue66.rb.folded
│ │ │ ├── Issue66.rb.styled
│ │ │ ├── Issue67.rb
│ │ │ ├── Issue67.rb.folded
│ │ │ ├── Issue67.rb.styled
│ │ │ ├── Issue69.rb
│ │ │ ├── Issue69.rb.folded
│ │ │ ├── Issue69.rb.styled
│ │ │ ├── PercentEquals124.rb
│ │ │ ├── PercentEquals124.rb.folded
│ │ │ ├── PercentEquals124.rb.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── x.rb
│ │ │ ├── x.rb.folded
│ │ │ └── x.rb.styled
│ │ ├── rust/
│ │ │ ├── Issue239.rs
│ │ │ ├── Issue239.rs.folded
│ │ │ ├── Issue239.rs.styled
│ │ │ ├── Issue268.rs
│ │ │ ├── Issue268.rs.folded
│ │ │ ├── Issue268.rs.styled
│ │ │ ├── Issue33.rs
│ │ │ ├── Issue33.rs.folded
│ │ │ ├── Issue33.rs.styled
│ │ │ ├── Issue34.rs
│ │ │ ├── Issue34.rs.folded
│ │ │ ├── Issue34.rs.styled
│ │ │ ├── Issue35.rs
│ │ │ ├── Issue35.rs.folded
│ │ │ ├── Issue35.rs.styled
│ │ │ └── SciTE.properties
│ │ ├── sinex/
│ │ │ ├── AllStyles_comment_fold.snx
│ │ │ ├── AllStyles_comment_fold.snx.folded
│ │ │ ├── AllStyles_comment_fold.snx.styled
│ │ │ ├── AllStyles_no_comment_fold.snx
│ │ │ ├── AllStyles_no_comment_fold.snx.folded
│ │ │ ├── AllStyles_no_comment_fold.snx.styled
│ │ │ └── SciTE.properties
│ │ ├── smalltalk/
│ │ │ ├── ClassificationTable.st
│ │ │ ├── ClassificationTable.st.folded
│ │ │ ├── ClassificationTable.st.styled
│ │ │ └── SciTE.properties
│ │ ├── sql/
│ │ │ ├── AllStyles.sql
│ │ │ ├── AllStyles.sql.folded
│ │ │ ├── AllStyles.sql.styled
│ │ │ └── SciTE.properties
│ │ ├── tcl/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.tcl
│ │ │ ├── x.tcl.folded
│ │ │ └── x.tcl.styled
│ │ ├── toml/
│ │ │ ├── AllStyles.toml
│ │ │ ├── AllStyles.toml.folded
│ │ │ ├── AllStyles.toml.styled
│ │ │ └── SciTE.properties
│ │ ├── troff/
│ │ │ ├── AllStyles.roff
│ │ │ ├── AllStyles.roff.folded
│ │ │ ├── AllStyles.roff.styled
│ │ │ └── SciTE.properties
│ │ ├── vb/
│ │ │ ├── AllStyles.vb
│ │ │ ├── AllStyles.vb.folded
│ │ │ ├── AllStyles.vb.styled
│ │ │ ├── AllStyles.vbs
│ │ │ ├── AllStyles.vbs.folded
│ │ │ ├── AllStyles.vbs.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── x.vb
│ │ │ ├── x.vb.folded
│ │ │ └── x.vb.styled
│ │ ├── verilog/
│ │ │ ├── AllStyles.vh
│ │ │ ├── AllStyles.vh.folded
│ │ │ ├── AllStyles.vh.styled
│ │ │ └── SciTE.properties
│ │ ├── vhdl/
│ │ │ ├── SciTE.properties
│ │ │ ├── x.vhd
│ │ │ ├── x.vhd.folded
│ │ │ └── x.vhd.styled
│ │ ├── visualprolog/
│ │ │ ├── AllStyles.pl
│ │ │ ├── AllStyles.pl.folded
│ │ │ ├── AllStyles.pl.styled
│ │ │ ├── AllStyles.pro
│ │ │ ├── AllStyles.pro.folded
│ │ │ ├── AllStyles.pro.styled
│ │ │ └── SciTE.properties
│ │ ├── x12/
│ │ │ ├── SciTE.properties
│ │ │ ├── empty.x12
│ │ │ ├── empty.x12.folded
│ │ │ ├── empty.x12.styled
│ │ │ ├── x.x12
│ │ │ ├── x.x12.folded
│ │ │ └── x.x12.styled
│ │ ├── yaml/
│ │ │ ├── 326-textOverEmpty.yaml
│ │ │ ├── 326-textOverEmpty.yaml.folded
│ │ │ ├── 326-textOverEmpty.yaml.styled
│ │ │ ├── SciTE.properties
│ │ │ ├── longline.yaml
│ │ │ ├── longline.yaml.folded
│ │ │ ├── longline.yaml.styled
│ │ │ ├── x.yaml
│ │ │ ├── x.yaml.folded
│ │ │ └── x.yaml.styled
│ │ └── zig/
│ │ ├── AllStyles.zig
│ │ ├── AllStyles.zig.folded
│ │ ├── AllStyles.zig.styled
│ │ └── SciTE.properties
│ ├── makefile
│ ├── testlexers.mak
│ └── unit/
│ ├── LICENSE_1_0.txt
│ ├── README
│ ├── Sci.natvis
│ ├── SciTE.properties
│ ├── UnitTester.cxx
│ ├── UnitTester.vcxproj
│ ├── catch.hpp
│ ├── makefile
│ ├── test.mak
│ ├── testCharacterSet.cxx
│ ├── testInList.cxx
│ ├── testLexerSimple.cxx
│ ├── testOptionSet.cxx
│ ├── testPropSetSimple.cxx
│ ├── testSparseState.cxx
│ ├── testWordList.cxx
│ └── unitTest.cxx
├── tgzsrc
├── version.txt
└── zipsrc.bat
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
* -text
**.cxx text
**.cpp text
**.c text
**.h text
**.hpp text
**.m text
**.mm text
**.iface text
**.template text
**.mk text
**.mk text
**.py text
**.rc text
**.css text
**.html text
**.bat text
**.bsh text
**.zsh text
**.mak text
**.def text
**.manifest text
**.properties text
**.props text
**.session text
**.styled text
**.folded text
**.adoc text
**.asp text
**.aspx text
**.php text
**.vb text
**.vbs text
**.ans text
**.asm text
**.cob text
**.cmake text
**.d text
**.dart text
**.diff text
**.erl text
**.f text
**.forth text
**.gd text
**.gui text
**.iss text
**.jl text
**.json text
**.lua text
**.m3 text
**.matlab text
**.ml text
**.nim text
**.nix text
**.octave text
**.p text
**.pas text
**.pl text
**.p6 text
**.ps1 text
**.r text
**.rb text
**.roff text
**.rs text
**.snx text
**.sql text
**.st text
**.tcl text
**.toml text
**.tsql text
**.err text
**.mms text
**.tex text
**.fs text
**.vh text
**.vhd text
**.x12 text
**.xml text
**.yaml text
**.zig text
**.md text
**.txt text
**.pch text
**.hg* text
**.dsp text
**.pbxproj text
**.plist text
**.xcworkspacedata text
**.pro text
**.gen text
**makefile text
**.bmp binary
**.cur binary
**.ico binary
**.jpg binary
**.png binary
**.sh text eol=lf
tgzsrc text eol=lf
================================================
FILE: .github/workflows/build-check-macos.yml
================================================
name: "Build and check Lexilla on macOS"
on: [push]
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
cpp_compiler: [clang++]
steps:
- uses: actions/checkout@v6
- name: Cache Scintilla
id: cache-scintilla
uses: actions/cache@v5
with:
path: scintilla
key: ${{ runner.os }}-scintilla
- name: Install Scintilla source
if: steps.cache-scintilla.outputs.cache-hit != 'true'
run: |
(mkdir scintilla)
(cd .. && wget --no-verbose https://www.scintilla.org/scintilla500.zip)
(unzip ../scintilla500.zip -d scintilla)
- name: Copy Scintilla
run: |
(cp -r scintilla/scintilla/ ../scintilla)
- name: Unit Test
run: (cd test/unit && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN) test)
- name: Build Lexilla
run: (cd src && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN))
- uses: actions/upload-artifact@v6
with:
name: liblexilla.dylib
path: bin/liblexilla.dylib
- name: Test lexing and folding
run: (cd test && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN) test)
- name: Check metadata
run: |
(cd test/Metadata && make CXX=${{matrix.cpp_compiler}})
(cd test/Metadata && ./Metadata -check)
- name: CheckLexilla C Example
run: (cd examples/CheckLexilla && make DEBUG=1 --jobs=$(getconf _NPROCESSORS_ONLN) check)
- name: SimpleLexer Example
run: (cd examples/SimpleLexer && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN) check)
================================================
FILE: .github/workflows/build-check-win32.yml
================================================
name: "Build and check Lexilla on Win32 with Visual C++"
on: [push]
jobs:
# Compile for amd64 and cross-compile for arm64. Tests run only for amd64.
build:
runs-on: windows-latest
strategy:
matrix:
arch:
- amd64
- amd64_arm64
env:
TEST: ${{ matrix.arch == 'amd64' && 'test' || '' }}
steps:
- uses: actions/checkout@v6
- name: Preparing nmake
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: Cache Scintilla
id: cache-scintilla
uses: actions/cache@v5
with:
path: scintilla
key: ${{ runner.os }}-scintilla
- name: Install Scintilla source
if: steps.cache-scintilla.outputs.cache-hit != 'true'
run: |
pwd
New-Item -Name "scintilla" -Type Directory -Force
cd scintilla
curl --fail --location --show-error --retry 3 -O https://www.scintilla.org/scintilla500.zip
ls
7z x scintilla500.zip
cd ..
- name: Copy Scintilla
run: |
xcopy /s scintilla\scintilla\ ..\scintilla\
- name: Unit Test
run: |
cd test/unit
nmake -f test.mak DEBUG=1 $env:TEST
cd ../..
- name: Build Lexilla
run: |
cd src
nmake -f lexilla.mak DEBUG=1
cd ..
- uses: actions/upload-artifact@v6
with:
name: lexilla${{ matrix.arch == 'amd64_arm64' && '-arm64' || '' }}.dll
path: bin/lexilla.dll
- name: Test lexing and folding
run: |
cd test
nmake -f testlexers.mak DEBUG=1 $env:TEST
cd ..
- name: Check metadata
if: matrix.arch == 'amd64'
run: |
cd test/Metadata
cl Metadata.cxx ../../access/LexillaAccess.cxx -EHsc -std:c++17 -I ../../include -I ../../access -I ../../../scintilla/include -Fe: Metadata
./Metadata -check
cd ../..
- name: CheckLexilla C Example
if: matrix.arch == 'amd64'
run: |
cd examples/CheckLexilla
cl -MP CheckLexilla.c -I ../../include -Fe: CheckLexilla
.\CheckLexilla.exe
cd ../..
- name: SimpleLexer Example
run: |
cd examples/SimpleLexer
cl -MP -std:c++17 -EHsc -LD -I ../../../scintilla/include -I ../../include -I ../../lexlib SimpleLexer.cxx ../../lexlib/*.cxx
cd ../..
================================================
FILE: .github/workflows/build-check.yml
================================================
name: "Build and check Lexilla on Linux"
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
cpp_compiler: [g++, clang++]
steps:
- uses: actions/checkout@v6
- name: Cache Scintilla
id: cache-scintilla
uses: actions/cache@v5
with:
path: scintilla
key: ${{ runner.os }}-scintilla
- name: Install Scintilla source
if: steps.cache-scintilla.outputs.cache-hit != 'true'
run: |
(mkdir scintilla)
(cd .. && wget --no-verbose https://www.scintilla.org/scintilla500.zip)
(unzip ../scintilla500.zip -d scintilla)
- name: Copy Scintilla
run: |
(cp -r scintilla/scintilla/ ../scintilla)
- name: Unit Test
run: (cd test/unit && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN) test)
- name: Build Lexilla
run: (cd src && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN))
- uses: actions/upload-artifact@v6
with:
name: liblexilla-${{matrix.cpp_compiler}}.so
path: bin/liblexilla.so
overwrite: true
- name: Test lexing and folding
run: (cd test && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN) test)
- name: Check metadata
run: |
(cd test/Metadata && make CXX=${{matrix.cpp_compiler}})
(cd test/Metadata && ./Metadata -check)
- name: CheckLexilla C Example
run: (cd examples/CheckLexilla && make DEBUG=1 --jobs=$(getconf _NPROCESSORS_ONLN) check)
- name: SimpleLexer Example
run: (cd examples/SimpleLexer && make DEBUG=1 CXX=${{matrix.cpp_compiler}} --jobs=$(getconf _NPROCESSORS_ONLN) check)
================================================
FILE: .gitignore
================================================
*.o
*.a
*.lib
*.obj
*.iobj
__pycache__
*.pyc
*.dll
*.so
*.dylib
*.framework
*.pyd
*.exe
*.exp
*.lib
*.pdb
*.ipdb
*.res
*.bak
*.sbr
*.suo
*.aps
*.sln
*.vcxproj.*
*.idb
*.bsc
*.intermediate.manifest
*.lastbuildstate
*.nativecodeanalysis.xml
*.cache
*.ilk
*.ncb
*.tlog
*.sdf
gtk/*.plist
win32/*.plist
*.opt
*.plg
*.pbxbtree
*.mode1v3
*.pbxuser
*.pbproj
*.tgz
*.log
*.xcbkptlist
*.xcuserstate
xcuserdata/
*.xcsettings
xcschememanagement.plist
.DS_Store
test/TestLexers
Release
Debug
x64
ARM64
cocoa/build
cocoa/ScintillaFramework/build
cocoa/ScintillaTest/build
macosx/SciTest/build
*.cppcheck
*.pro.user
.qmake.stash
cov-int
.vs
meson-private
meson-logs
build.ninja
.ninja*
compile_commands.json
.vscode/
VTune Profiler Results/
================================================
FILE: .travis.yml
================================================
# Build Lexilla with gcc and clang on Linux, macOS, and Windows
# Test Lexilla with gcc and clang on Linux and macOS
# Windows has older versions of libraries so can't compile std::filesystem
# with gcc or std::string::starts_with with clang.
# On macOS, gcc is a synonym for clang so exclude gcc.
os:
- linux
- osx
- windows
dist: focal
osx_image: xcode12.3
language: cpp
jobs:
exclude:
- os: osx
compiler: gcc
install:
- cd ..
- wget --no-verbose https://www.scintilla.org/scintilla500.zip
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then 7z x scintilla500.zip ; else unzip scintilla500.zip ; fi
- cd lexilla
compiler:
- gcc
- clang
script:
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then MAKER="mingw32-make windir=1" ; else MAKER="make" ; fi
- (cd src && $MAKER DEBUG=1)
- cd test
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then make DEBUG=1 test ; fi
- (cd unit && $MAKER DEBUG=1 test)
- cd ..
- cd examples
- (cd CheckLexilla && $MAKER DEBUG=1 check)
- (cd SimpleLexer && $MAKER DEBUG=1 check)
- cd ..
================================================
FILE: CONTRIBUTING
================================================
Lexilla is on GitHub at https://github.com/ScintillaOrg/lexilla
Bugs, fixes and features should be posted to the Issue Tracker
https://github.com/ScintillaOrg/lexilla/issues
AI-generated code and issues are often low quality and difficult to understand
so should not be posted.
Patches should include test cases. Add a test case file in
lexilla/test/examples/<language> and run the test program in
lexilla/test.
The result will be new files with ".styled.new" and ".folded.new"
appended containing lexing or folding results.
For lexing, there are brace surrounded style numbers for each style
start as markup:
{5}import{0} {11}contextlib{0}
For folding, there are 4 columns of folding results preceding the example text:
2 400 0 + --[[ coding:UTF-8
0 402 0 | comment ]]
See the test/README file for more explanation of the folding results.
To build lexilla and the tests with gcc there are Windows batch
and Unix shell files scripts/RunTest.bat scripts/RunTest.sh.
Check the result of the .new files and, if correct, rename replacing
".styled.new" with ".styled" and ".folded.new" with ".folded".
Run the tests again and success should be reported.
Include the .styled and .folded files in the patch.
Including test cases ensures that the change won't be undone by
other changes in the future and clarifies the intentions of the author.
Either send unified diffs (or patch files) or zip archives with whole files.
Mercurial/Git patch files are best as they include author information and commit
messages.
Questions should go to the scintilla-interest mailing list
https://groups.google.com/forum/#!forum/scintilla-interest
Code should follow the guidelines at
https://www.scintilla.org/SciCoding.html
Lexilla is on GitHub so use its facilities rather than SourceForge which is
the home of Scintilla.
The neilh @ scintilla.org account receives much spam and is only checked
occasionally. Almost all Scintilla mail should go to the mailing list.
================================================
FILE: License.txt
================================================
License for Lexilla, Scintilla, and SciTE
Copyright 1998-2021 by Neil Hodgson <neilh@scintilla.org>
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation.
NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.
================================================
FILE: README
================================================
README for Lexilla library.
The Lexilla library contains a set of lexers and folders that provides support for
programming, mark-up, and data languages for the Scintilla source code editing
component.
Lexilla is made available as both a shared library and static library.
The shared library is called liblexilla.so / liblexilla.dylib / lexilla.dll on Linux / macOS /
Windows.
The static library is called liblexilla.a when built with GCC or Clang and liblexilla.lib
when built with MSVC.
Lexilla is developed on Windows, Linux, and macOS and requires a C++17 compiler.
It may work on other Unix platforms like BSD but that is not a development focus.
MSVC 2019.4, GCC 9.0, Clang 9.0, and Apple Clang 11.0 are known to work.
MSVC is only available on Windows.
GCC and Clang work on Windows and Linux.
On macOS, only Apple Clang is available.
Lexilla requires some headers from Scintilla to build and expects a directory named
"scintilla" containing a copy of Scintilla 5+ to be a peer of the Lexilla top level
directory conventionally called "lexilla".
To use GCC, run lexilla/src/makefile:
make
To use Clang, run lexilla/src/makefile:
make CLANG=1
On macOS, CLANG is set automatically so this can just be
make
To use MSVC, run lexilla/src/lexilla.mak:
nmake -f lexilla.mak
To build a debugging version of the library, add DEBUG=1 to the command:
make DEBUG=1
The built libraries are copied into lexilla/bin.
Lexilla relies on a list of lexers from the lexilla/lexers directory. If any changes are
made to the set of lexers then source and build files can be regenerated with the
lexilla/scripts/LexillaGen.py script which requires Python 3 and is tested with 3.7+.
Unix:
python3 LexillaGen.py
Windows:
pyw LexillaGen.py
================================================
FILE: access/LexillaAccess.cxx
================================================
// SciTE - Scintilla based Text Editor
/** @file LexillaAccess.cxx
** Interface to loadable lexers.
** Maintains a list of lexer library paths and CreateLexer functions.
** If list changes then load all the lexer libraries and find the functions.
** When asked to create a lexer, call each function until one succeeds.
**/
// Copyright 2019 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#include <cstring>
#include <string>
#include <string_view>
#include <vector>
#include <set>
#if !defined(_WIN32)
#include <dlfcn.h>
#else
#include <windows.h>
#endif
#include "ILexer.h"
#include "Lexilla.h"
#include "LexillaAccess.h"
namespace {
#if defined(_WIN32)
using Function = FARPROC;
using Module = HMODULE;
constexpr const char *pathSeparator = "\\";
#else
using Function = void *;
using Module = void *;
constexpr const char *pathSeparator = "/";
#endif
/// Generic function to convert from a Function(void* or FARPROC) to a function pointer.
/// This avoids undefined and conditionally defined behaviour.
template<typename T>
T FunctionPointer(Function function) noexcept {
static_assert(sizeof(T) == sizeof(function));
T fp {};
memcpy(&fp, &function, sizeof(T));
return fp;
}
#if defined(_WIN32)
std::wstring WideStringFromUTF8(std::string_view sv) {
const int sLength = static_cast<int>(sv.length());
const int cchWide = ::MultiByteToWideChar(CP_UTF8, 0, sv.data(), sLength, nullptr, 0);
std::wstring sWide(cchWide, 0);
::MultiByteToWideChar(CP_UTF8, 0, sv.data(), sLength, sWide.data(), cchWide);
return sWide;
}
#endif
// Turn off deprecation checks as LexillaAccess deprecates its wrapper over
// the deprecated LexerNameFromID. Thus use within LexillaAccess is intentional.
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#else
#pragma warning(disable: 4996)
#endif
std::string directoryLoadDefault;
std::string lastLoaded;
struct LexLibrary {
Lexilla::CreateLexerFn fnCL;
Lexilla::LexerNameFromIDFn fnLNFI;
Lexilla::GetLibraryPropertyNamesFn fnGLPN;
Lexilla::SetLibraryPropertyFn fnSLP;
std::string nameSpace;
};
std::vector<LexLibrary> libraries;
std::vector<std::string> lexers;
std::vector<std::string> libraryProperties;
Function FindSymbol(Module m, const char *symbol) noexcept {
#if defined(_WIN32)
return ::GetProcAddress(m, symbol);
#else
return dlsym(m, symbol);
#endif
}
Lexilla::CreateLexerFn pCreateLexerDefault = nullptr;
bool NameContainsDot(std::string_view path) noexcept {
for (std::string_view::const_reverse_iterator it = path.crbegin();
it != path.crend(); ++it) {
if (*it == '.')
return true;
if (*it == '/' || *it == '\\')
return false;
}
return false;
}
constexpr bool HasPrefix(std::string_view s, std::string_view prefix) noexcept {
return (s.size() >= prefix.size()) && (prefix == s.substr(0, prefix.size()));
}
}
void Lexilla::SetDefault(CreateLexerFn pCreate) noexcept {
pCreateLexerDefault = pCreate;
}
void Lexilla::SetDefaultDirectory(std::string_view directory) {
directoryLoadDefault = directory;
}
bool Lexilla::Load(std::string_view sharedLibraryPaths) {
if (sharedLibraryPaths == lastLoaded) {
return !libraries.empty();
}
std::string_view paths = sharedLibraryPaths;
lexers.clear();
libraries.clear();
while (!paths.empty()) {
const size_t separator = paths.find_first_of(';');
std::string path(paths.substr(0, separator));
if (separator == std::string::npos) {
paths.remove_prefix(paths.size());
} else {
paths.remove_prefix(separator + 1);
}
if (path == ".") {
if (directoryLoadDefault.empty()) {
path = "";
} else {
path = directoryLoadDefault;
path += pathSeparator;
}
path += LEXILLA_LIB;
}
if (!NameContainsDot(path)) {
// No '.' in name so add extension
path.append(LEXILLA_EXTENSION);
}
#if defined(_WIN32)
// Convert from UTF-8 to wide characters
std::wstring wsPath = WideStringFromUTF8(path);
Module lexillaDL = ::LoadLibraryW(wsPath.c_str());
#else
Module lexillaDL = dlopen(path.c_str(), RTLD_LAZY);
#endif
if (lexillaDL) {
GetLexerCountFn fnLexerCount = FunctionPointer<GetLexerCountFn>(
FindSymbol(lexillaDL, LEXILLA_GETLEXERCOUNT));
GetLexerNameFn fnLexerName = FunctionPointer<GetLexerNameFn>(
FindSymbol(lexillaDL, LEXILLA_GETLEXERNAME));
if (fnLexerCount && fnLexerName) {
const int nLexers = fnLexerCount();
for (int i = 0; i < nLexers; i++) {
constexpr size_t lengthName = 200;
char name[lengthName]{};
fnLexerName(i, name, sizeof(name));
lexers.emplace_back(name);
}
}
CreateLexerFn fnCL = FunctionPointer<CreateLexerFn>(
FindSymbol(lexillaDL, LEXILLA_CREATELEXER));
LexerNameFromIDFn fnLNFI = FunctionPointer<LexerNameFromIDFn>(
FindSymbol(lexillaDL, LEXILLA_LEXERNAMEFROMID));
GetLibraryPropertyNamesFn fnGLPN = FunctionPointer<GetLibraryPropertyNamesFn>(
FindSymbol(lexillaDL, LEXILLA_GETLIBRARYPROPERTYNAMES));
SetLibraryPropertyFn fnSLP = FunctionPointer<SetLibraryPropertyFn>(
FindSymbol(lexillaDL, LEXILLA_SETLIBRARYPROPERTY));
GetNameSpaceFn fnGNS = FunctionPointer<GetNameSpaceFn>(
FindSymbol(lexillaDL, LEXILLA_GETNAMESPACE));
std::string nameSpace;
if (fnGNS) {
nameSpace = fnGNS();
nameSpace += LEXILLA_NAMESPACE_SEPARATOR;
}
LexLibrary lexLib {
fnCL,
fnLNFI,
fnGLPN,
fnSLP,
nameSpace
};
libraries.push_back(lexLib);
}
}
lastLoaded = sharedLibraryPaths;
std::set<std::string> nameSet;
for (const LexLibrary &lexLib : libraries) {
if (lexLib.fnGLPN) {
const char *cpNames = lexLib.fnGLPN();
if (cpNames) {
std::string_view names = cpNames;
while (!names.empty()) {
const size_t separator = names.find_first_of('\n');
std::string name(names.substr(0, separator));
nameSet.insert(name);
if (separator == std::string::npos) {
names.remove_prefix(names.size());
} else {
names.remove_prefix(separator + 1);
}
}
}
}
}
// Standard Lexilla does not have any properties so can't be added to set.
libraryProperties = std::vector<std::string>(nameSet.begin(), nameSet.end());
return !libraries.empty();
}
Scintilla::ILexer5 *Lexilla::MakeLexer(std::string_view languageName) {
std::string sLanguageName(languageName); // Ensure NUL-termination
// First, try to match namespace then name suffix
for (const LexLibrary &lexLib : libraries) {
if (lexLib.fnCL && !lexLib.nameSpace.empty()) {
if (HasPrefix(languageName, lexLib.nameSpace)) {
Scintilla::ILexer5 *pLexer = lexLib.fnCL(sLanguageName.substr(lexLib.nameSpace.size()).c_str());
if (pLexer) {
return pLexer;
}
}
}
}
// If no match with namespace, try to just match name
for (const LexLibrary &lexLib : libraries) {
if (lexLib.fnCL) {
Scintilla::ILexer5 *pLexer = lexLib.fnCL(sLanguageName.c_str());
if (pLexer) {
return pLexer;
}
}
}
if (pCreateLexerDefault) {
return pCreateLexerDefault(sLanguageName.c_str());
}
#if defined(LEXILLA_STATIC)
Scintilla::ILexer5 *pLexer = CreateLexer(sLanguageName.c_str());
if (pLexer) {
return pLexer;
}
#endif
return nullptr;
}
std::vector<std::string> Lexilla::Lexers() {
return lexers;
}
std::string Lexilla::NameFromID(int identifier) {
for (const LexLibrary &lexLib : libraries) {
if (lexLib.fnLNFI) {
const char *name = lexLib.fnLNFI(identifier);
if (name) {
return name;
}
}
}
return {};
}
std::vector<std::string> Lexilla::LibraryProperties() {
return libraryProperties;
}
void Lexilla::SetProperty(const char *key, const char *value) {
for (const LexLibrary &lexLib : libraries) {
if (lexLib.fnSLP) {
lexLib.fnSLP(key, value);
}
}
// Standard Lexilla does not have any properties so don't set.
}
================================================
FILE: access/LexillaAccess.h
================================================
// SciTE - Scintilla based Text Editor
/** @file LexillaAccess.h
** Interface to loadable lexers.
** This does not depend on SciTE code so can be copied out into other projects.
**/
// Copyright 2019 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#ifndef LEXILLAACCESS_H
#define LEXILLAACCESS_H
namespace Lexilla {
// Directory to load default Lexilla from, commonly the directory of the application.
void SetDefaultDirectory(std::string_view directory);
// Specify CreateLexer when statically linked so no hard dependency in LexillaAccess
// so it doesn't have to be built in two forms - static and dynamic.
void SetDefault(CreateLexerFn pCreate) noexcept;
// sharedLibraryPaths is a ';' separated list of shared libraries to load.
// On Win32 it is treated as UTF-8 and on Unix it is passed to dlopen directly.
// Return true if any shared libraries are loaded.
bool Load(std::string_view sharedLibraryPaths);
Scintilla::ILexer5 *MakeLexer(std::string_view languageName);
std::vector<std::string> Lexers();
[[deprecated]] std::string NameFromID(int identifier);
std::vector<std::string> LibraryProperties();
void SetProperty(const char *key, const char *value);
}
#endif
================================================
FILE: access/README
================================================
README for access directory.
LexillaAccess is a module that simplifies using multiple libraries that follow the Lexilla protocol.
It can be compiled into a Lexilla client application.
Applications with complex needs can copy the code and customise it to meet their requirements.
This module is not meant to be compiled into Lexilla.
================================================
FILE: bin/empty.txt
================================================
This empty files ensures that the directory is created.
================================================
FILE: cppcheck.suppress
================================================
// File to suppress cppcheck warnings for files that will not be fixed.
// Does not suppress warnings where an additional occurrence of the warning may be of interest.
// Configured for cppcheck 2.20
// Just a report of how many checkers are run
checkersReport
// This just warns that cppcheck isn't exhaustive and it still appears in exhaustive mode
normalCheckLevelMaxBranches
// Coding style is to use assignments in constructor when there are many
// members to initialize or the initialization is complex or has comments.
useInitializationList
// These may be interesting but its not clear without examining each instance closely
// Would have to ensure that any_of/all_of has same early/late exits as current code and
// produces same result on empty collections
useStlAlgorithm
// Common for lexer object destructors
missingOverride
// Some non-explicit constructors are used for conversions or are private to lexers
noExplicitConstructor
// The performance cost of by-value passing is often small and using a reference decreases
// code legibility.
passedByValue
// cppcheck 2.11 can't find system headers on Win32.
missingIncludeSystem
// Passing temporary string into hidden object creator functions: they do not hold the argument
returnDanglingLifetime:lexilla/access/LexillaAccess.cxx
// Used from other projects
unusedFunction:lexilla/access/LexillaAccess.cxx
unusedFunction:lexilla/src/Lexilla.cxx
// cppcheck 2.11 limits checking of complex functions unless --check-level=exhaustive but that
// only finds one false issue in LexRuby
checkLevelNormal:lexilla/lexers/LexBash.cxx
checkLevelNormal:lexilla/lexers/LexCPP.cxx
checkLevelNormal:lexilla/lexers/LexHTML.cxx
checkLevelNormal:lexilla/lexers/LexPerl.cxx
checkLevelNormal:lexilla/lexers/LexRuby.cxx
// Physically but not logically const.
constVariablePointer:lexilla/examples/CheckLexilla/CheckLexilla.c
// cppcheck appears to be incorrectly determining control flow: target_end is used after write
unreadVariable:lexilla/lexers/LexRuby.cxx
// Suppress most lexer warnings since the lexers are maintained by others
redundantCondition:lexilla/lexers/LexA68k.cxx
constParameterReference:lexilla/lexers/LexAbaqus.cxx
constParameterReference:lexilla/lexers/LexAda.cxx
constParameterReference:lexilla/lexers/LexAsciidoc.cxx
constParameterCallback:lexilla/lexers/LexAsn1.cxx
knownConditionTrueFalse:lexilla/lexers/LexAU3.cxx
shadowVariable:lexilla/lexers/LexAU3.cxx
constParameterReference:lexilla/lexers/LexBaan.cxx
unreadVariable:lexilla/lexers/LexBaan.cxx
variableScope:lexilla/lexers/LexBaan.cxx
constParameterPointer:lexilla/lexers/LexBaan.cxx
constParameterReference:lexilla/lexers/LexBash.cxx
variableScope:lexilla/lexers/LexBash.cxx
constVariable:lexilla/lexers/LexBasic.cxx
constParameterReference:lexilla/lexers/LexBullant.cxx
constParameterReference:lexilla/lexers/LexCLW.cxx
knownConditionTrueFalse:lexilla/lexers/LexCLW.cxx
variableScope:lexilla/lexers/LexCmake.cxx
knownConditionTrueFalse:lexilla/lexers/LexCmake.cxx
constParameterReference:lexilla/lexers/LexCmake.cxx
constParameterReference:lexilla/lexers/LexCOBOL.cxx
constVariablePointer:lexilla/lexers/LexCOBOL.cxx
constParameterReference:lexilla/lexers/LexCoffeeScript.cxx
constParameterPointer:lexilla/lexers/LexCoffeeScript.cxx
knownConditionTrueFalse:lexilla/lexers/LexCoffeeScript.cxx
constVariableReference:lexilla/lexers/LexConf.cxx
constParameterReference:lexilla/lexers/LexCPP.cxx
knownConditionTrueFalse:lexilla/lexers/LexCPP.cxx
variableScope:lexilla/lexers/LexCSS.cxx
constVariablePointer:lexilla/lexers/LexCSS.cxx
knownConditionTrueFalse:lexilla/lexers/LexDataflex.cxx
constParameterReference:lexilla/lexers/LexDataflex.cxx
variableScope:lexilla/lexers/LexDataflex.cxx
constParameterReference:lexilla/lexers/LexDart.cxx
functionStatic:lexilla/lexers/LexDart.cxx
functionStatic:lexilla/lexers/LexDMIS.cxx
knownConditionTrueFalse:lexilla/lexers/LexECL.cxx
variableScope:lexilla/lexers/LexECL.cxx
constParameter:lexilla/lexers/LexEDIFACT.cxx
constParameterPointer:lexilla/lexers/LexEDIFACT.cxx
functionStatic:lexilla/lexers/LexEDIFACT.cxx
knownConditionTrueFalse:lexilla/lexers/LexEiffel.cxx
variableScope:lexilla/lexers/LexErlang.cxx
knownConditionTrueFalse:lexilla/lexers/LexErlang.cxx
knownConditionTrueFalse:lexilla/lexers/LexEScript.cxx
constParameter:lexilla/lexers/LexFortran.cxx
constParameterReference:lexilla/lexers/LexFortran.cxx
redundantContinue:lexilla/lexers/LexFortran.cxx
knownConditionTrueFalse:lexilla/lexers/LexFSharp.cxx
variableScope:lexilla/lexers/LexFSharp.cxx
constParameterReference:lexilla/lexers/LexGAP.cxx
constParameterReference:lexilla/lexers/LexGDScript.cxx
variableScope:lexilla/lexers/LexGui4Cli.cxx
constParameterReference:lexilla/lexers/LexHaskell.cxx
constParameterReference:lexilla/lexers/LexHex.cxx
knownConditionTrueFalse:lexilla/lexers/LexHex.cxx
constVariable:lexilla/lexers/LexHollywood.cxx
variableScope:lexilla/lexers/LexInno.cxx
constVariableReference:lexilla/lexers/LexInno.cxx
constParameterPointer:lexilla/lexers/LexJulia.cxx
constParameterReference:lexilla/lexers/LexJulia.cxx
knownConditionTrueFalse:lexilla/lexers/LexJulia.cxx
unreadVariable:lexilla/lexers/LexJulia.cxx
variableScope:lexilla/lexers/LexJulia.cxx
variableScope:lexilla/lexers/LexLaTeX.cxx
constParameterReference:lexilla/lexers/LexLaTeX.cxx
constParameterReference:lexilla/lexers/LexLisp.cxx
constParameterPointer:lexilla/lexers/LexMagik.cxx
constParameterReference:lexilla/lexers/LexMagik.cxx
constParameterPointer:lexilla/lexers/LexMatlab.cxx
constParameterReference:lexilla/lexers/LexMatlab.cxx
unreadVariable:lexilla/lexers/LexMatlab.cxx
variableScope:lexilla/lexers/LexMatlab.cxx
variableScope:lexilla/lexers/LexMetapost.cxx
constParameterReference:lexilla/lexers/LexModula.cxx
duplicateBreak:lexilla/lexers/LexModula.cxx
variableScope:lexilla/lexers/LexModula.cxx
constParameterReference:lexilla/lexers/LexMPT.cxx
variableScope:lexilla/lexers/LexMSSQL.cxx
shadowArgument:lexilla/lexers/LexMySQL.cxx
constParameterReference:lexilla/lexers/LexNim.cxx
constParameterReference:lexilla/lexers/LexNimrod.cxx
knownConditionTrueFalse:lexilla/lexers/LexNimrod.cxx
variableScope:lexilla/lexers/LexNimrod.cxx
functionStatic:lexilla/lexers/LexNix.cxx
variableScope:lexilla/lexers/LexNsis.cxx
constParameterReference:lexilla/lexers/LexNsis.cxx
knownConditionTrueFalse:lexilla/lexers/LexNsis.cxx
variableScope:lexilla/lexers/LexOpal.cxx
constParameterReference:lexilla/lexers/LexOpal.cxx
knownConditionTrueFalse:lexilla/lexers/LexOpal.cxx
constParameterReference:lexilla/lexers/LexOScript.cxx
constParameterReference:lexilla/lexers/LexPascal.cxx
variableScope:lexilla/lexers/LexPB.cxx
constParameterReference:lexilla/lexers/LexPerl.cxx
constVariableReference:lexilla/lexers/LexPerl.cxx
knownConditionTrueFalse:lexilla/lexers/LexPerl.cxx
functionStatic:lexilla/lexers/LexPerl.cxx
constParameterReference:lexilla/lexers/LexPLM.cxx
constParameterReference:lexilla/lexers/LexPO.cxx
variableScope:lexilla/lexers/LexPO.cxx
constVariablePointer:lexilla/lexers/LexPOV.cxx
constParameterReference:lexilla/lexers/LexPython.cxx
shadowVariable:lexilla/lexers/LexPowerPro.cxx
knownConditionTrueFalse:lexilla/lexers/LexPowerPro.cxx
variableScope:lexilla/lexers/LexProgress.cxx
constParameterReference:lexilla/lexers/LexProgress.cxx
constParameterReference:lexilla/lexers/LexRaku.cxx
variableScope:lexilla/lexers/LexRaku.cxx
functionStatic:lexilla/lexers/LexRaku.cxx
redundantInitialization:lexilla/lexers/LexRegistry.cxx
constParameterReference:lexilla/lexers/LexRuby.cxx
constParameterReference:lexilla/lexers/LexRust.cxx
knownConditionTrueFalse:lexilla/lexers/LexScriptol.cxx
constParameterReference:lexilla/lexers/LexScriptol.cxx
constParameterReference:lexilla/lexers/LexSINEX.cxx
variableScope:lexilla/lexers/LexSINEX.cxx
constParameterPointer:lexilla/lexers/LexSmalltalk.cxx
variableScope:lexilla/lexers/LexSpecman.cxx
unreadVariable:lexilla/lexers/LexSpice.cxx
constParameterReference:lexilla/lexers/LexSpice.cxx
functionStatic:lexilla/lexers/LexSQL.cxx
constParameterReference:lexilla/lexers/LexSTTXT.cxx
constParameterReference:lexilla/lexers/LexTACL.cxx
knownConditionTrueFalse:lexilla/lexers/LexTACL.cxx
variableScope:lexilla/lexers/LexTACL.cxx
clarifyCalculation:lexilla/lexers/LexTADS3.cxx
constParameterReference:lexilla/lexers/LexTADS3.cxx
constParameterReference:lexilla/lexers/LexTAL.cxx
variableScope:lexilla/lexers/LexTAL.cxx
constVariableReference:lexilla/lexers/LexTCL.cxx
constParameterPointer:lexilla/lexers/LexTCMD.cxx
invalidscanf:lexilla/lexers/LexTCMD.cxx
constParameterReference:lexilla/lexers/LexTeX.cxx
variableScope:lexilla/lexers/LexTeX.cxx
knownConditionTrueFalse:lexilla/lexers/LexVB.cxx
constParameterReference:lexilla/lexers/LexVerilog.cxx
variableScope:lexilla/lexers/LexVerilog.cxx
badBitmaskCheck:lexilla/lexers/LexVerilog.cxx
uselessCallsSubstr:lexilla/lexers/LexVerilog.cxx
duplicateCondition:lexilla/lexers/LexVerilog.cxx
constParameterReference:lexilla/lexers/LexVHDL.cxx
constVariable:lexilla/lexers/LexVHDL.cxx
shadowVariable:lexilla/lexers/LexVHDL.cxx
unreadVariable:lexilla/lexers/LexVHDL.cxx
variableScope:lexilla/lexers/LexVHDL.cxx
unreadVariable:lexilla/lexers/LexVisualProlog.cxx
variableScope:lexilla/lexers/LexVisualProlog.cxx
shiftTooManyBitsSigned:lexilla/lexers/LexVisualProlog.cxx
bitwiseOnBoolean:lexilla/lexers/LexVisualProlog.cxx
iterateByValue:lexilla/lexers/LexVisualProlog.cxx
functionStatic:lexilla/lexers/LexVisualProlog.cxx
unreadVariable:lexilla/lexers/LexX12.cxx
constVariableReference:lexilla/lexers/LexX12.cxx
constParameterPointer:lexilla/lexers/LexX12.cxx
uselessCallsSubstr:lexilla/lexers/LexX12.cxx
constParameterReference:lexilla/lexers/LexYAML.cxx
knownConditionTrueFalse:lexilla/lexers/LexYAML.cxx
// These are due to Accessor::IndentAmount not declaring the callback as taking a const.
// Changing this could cause problems for downstream projects.
constParameterCallback:lexilla/lexers/LexEiffel.cxx
constParameterCallback:lexilla/lexers/LexGDScript.cxx
constParameterCallback:lexilla/lexers/LexPython.cxx
constParameterCallback:lexilla/lexers/LexScriptol.cxx
constParameterCallback:lexilla/lexers/LexVB.cxx
constVariableReference:lexilla/lexers/LexA68k.cxx
constVariableReference:lexilla/lexers/LexAPDL.cxx
constVariableReference:lexilla/lexers/LexASY.cxx
constVariableReference:lexilla/lexers/LexAVE.cxx
constVariableReference:lexilla/lexers/LexAVS.cxx
constVariableReference:lexilla/lexers/LexAU3.cxx
constVariableReference:lexilla/lexers/LexAsn1.cxx
constVariableReference:lexilla/lexers/LexBibTeX.cxx
constVariableReference:lexilla/lexers/LexCaml.cxx
constVariableReference:lexilla/lexers/LexCLW.cxx
constVariableReference:lexilla/lexers/LexCmake.cxx
constVariableReference:lexilla/lexers/LexCOBOL.cxx
constVariableReference:lexilla/lexers/LexCoffeeScript.cxx
constVariableReference:lexilla/lexers/LexCsound.cxx
constVariableReference:lexilla/lexers/LexCSS.cxx
constVariableReference:lexilla/lexers/LexCrontab.cxx
constVariableReference:lexilla/lexers/LexDataflex.cxx
constVariableReference:lexilla/lexers/LexDMAP.cxx
constVariableReference:lexilla/lexers/LexECL.cxx
constVariableReference:lexilla/lexers/LexEiffel.cxx
constVariableReference:lexilla/lexers/LexEScript.cxx
constVariableReference:lexilla/lexers/LexErlang.cxx
constVariableReference:lexilla/lexers/LexFlagship.cxx
constVariableReference:lexilla/lexers/LexForth.cxx
constVariableReference:lexilla/lexers/LexFortran.cxx
constVariableReference:lexilla/lexers/LexGAP.cxx
constVariableReference:lexilla/lexers/LexGui4Cli.cxx
constVariableReference:lexilla/lexers/LexKix.cxx
constVariableReference:lexilla/lexers/LexKVIrc.cxx
constVariableReference:lexilla/lexers/LexLout.cxx
constVariableReference:lexilla/lexers/LexMagik.cxx
constVariableReference:lexilla/lexers/LexMatlab.cxx
constVariableReference:lexilla/lexers/LexMetapost.cxx
constVariableReference:lexilla/lexers/LexMMIXAL.cxx
constVariableReference:lexilla/lexers/LexMSSQL.cxx
constVariableReference:lexilla/lexers/LexNsis.cxx
constVariableReference:lexilla/lexers/LexOpal.cxx
constVariableReference:lexilla/lexers/LexPOV.cxx
constVariableReference:lexilla/lexers/LexPB.cxx
constVariableReference:lexilla/lexers/LexPowerPro.cxx
constVariableReference:lexilla/lexers/LexPS.cxx
constVariableReference:lexilla/lexers/LexRebol.cxx
constVariableReference:lexilla/lexers/LexSAS.cxx
constVariableReference:lexilla/lexers/LexSML.cxx
constVariableReference:lexilla/lexers/LexSorcus.cxx
constVariableReference:lexilla/lexers/LexSpecman.cxx
constVariableReference:lexilla/lexers/LexStata.cxx
constVariableReference:lexilla/lexers/LexTACL.cxx
constVariableReference:lexilla/lexers/LexTADS3.cxx
constVariableReference:lexilla/lexers/LexTAL.cxx
constVariableReference:lexilla/lexers/LexTCMD.cxx
constVariableReference:lexilla/lexers/LexTeX.cxx
constVariableReference:lexilla/lexers/LexVHDL.cxx
// Suppress everything in test example files
*:lexilla/test/examples/*
// Suppress everything in catch.hpp as won't be changing
*:lexilla/test/unit/catch.hpp
// cppcheck gives up inside catch.hpp
*:lexilla/test/unit/UnitTester.cxx
*:lexilla/test/unit/unitTest.cxx
// cppcheck fails REQUIRE from Catch
comparisonOfFuncReturningBoolError:lexilla/test/unit/*.cxx
// cppcheck fails SECTION from Catch
syntaxError:lexilla/test/unit/*.cxx
// Tests often test things that are always true
knownConditionTrueFalse:lexilla/test/unit/testCharacterSet.cxx
// unread/unused variables and overwritten without read in tests
unreadVariable:lexilla/test/unit/*.cxx
unusedVariable:lexilla/test/unit/*.cxx
redundantInitialization:lexilla/test/unit/*.cxx
// doesn't understand cppcheck generated functions
unusedFunction:lexilla/test/unit/*.cxx
// argv has a standardised type
constParameter:lexilla/examples/CheckLexilla/CheckLexilla.c
================================================
FILE: delbin.bat
================================================
@del /S /Q *.a *.aps *.bsc *.dll *.dsw *.exe *.idb *.ilc *.ild *.ilf *.ilk *.ils *.lib *.map *.ncb *.obj *.o *.opt *.ipdb *.pdb *.plg *.res *.sbr *.tds *.exp *.tlog *.lastbuildstate >NUL:
================================================
FILE: doc/Lexilla.html
================================================
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<meta name="generator" content="SciTE" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="keywords" content="Scintilla, SciTE, Editing Component, Text Editor" />
<meta name="Description"
content="www.scintilla.org is the home of the Scintilla editing component and SciTE text editor application." />
<meta name="Date.Modified" content="20260429" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
.logo {
background: url(https://www.scintilla.org/LexillaLogo.png) no-repeat;
background-image: image-set(
url(https://www.scintilla.org/LexillaLogo.png) 1x,
url(https://www.scintilla.org/LexillaLogo2x.png) 2x );
height:150px;
}
#versionlist {
margin: 0;
padding: .5em;
list-style-type: none;
color: #FFCC99;
background: #000000;
}
#versionlist li {
margin-bottom: .5em;
}
#menu {
margin: 0;
padding: .5em 0;
list-style-type: none;
font-size: larger;
background: #CCCCCC;
}
#menu li {
margin: 0;
padding: 0 .5em;
display: inline;
}
</style>
<script type="text/javascript">
function IsRemote() {
var loc = '' + window.location;
return (loc.indexOf('http:')) != -1 || (loc.indexOf('https:') != -1);
}
</script>
<title>
Lexilla
</title>
<link rel="canonical" href="https://scintilla.org/Lexilla.html" />
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table bgcolor="#000000" width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="256">
</td>
<td width="40%" align="left">
<font color="#FFCC99" size="4"> A library of language lexers for use with Scintilla</font>
</td>
<td width="40%" align="right">
<font color="#FFCC99" size="3">Release version 5.4.9<br />
Site last modified April 29 2026</font>
</td>
<td width="20%">
</td>
</tr>
</table>
<table bgcolor="#000000" width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="100%" class="logo">
</td>
</tr>
</table>
<ul id="versionlist">
<li>Version 5.4.9 improves Assembler, C++, F#, LaTeX, Pascal, and Ruby.</li>
<li>Version 5.4.8 improves Batch, Forth, JavaScript, and JSON.</li>
<li>Version 5.4.7 adds EscapeSequence lexer escseq. Improves Errorlist, Makefile, Perl, and Progress.</li>
<li>Version 5.4.6 adds SINEX lexer. Improves Errorlist, Progress, and Python.</li>
<li>Version 5.4.5 improves Dart, Makefile, Nix, TOML, and Zig.</li>
</ul>
<ul id="menu">
<li id="remote1"><a href="https://www.scintilla.org/SciTEImage.html">Screenshot</a></li>
<li id="remote2"><a href="https://www.scintilla.org/LexillaDownload.html">Download</a></li>
<li><a href="https://www.scintilla.org/LexillaDoc.html">Documentation</a></li>
<li><a href="https://github.com/ScintillaOrg/lexilla/issues">Bugs</a></li>
<li id="remote3"><a href="https://www.scintilla.org/SciTE.html">SciTE</a></li>
<li><a href="https://www.scintilla.org/LexillaHistory.html">History</a></li>
<li><a href="https://www.scintilla.org/ScintillaRelated.html">Related</a></li>
<li id="remote4"><a href="https://www.scintilla.org/Privacy.html">Privacy</a></li>
</ul>
<script type="text/javascript" language="JavaScript"><!--
if (!IsRemote()) { //if NOT remote...
document.getElementById('remote1').style.display='none';
document.getElementById('remote2').style.display='none';
document.getElementById('remote3').style.display='none';
document.getElementById('remote4').style.display='none';
}
//--></script>
<p>
<a href="https://www.scintilla.org/LexillaDoc.html">Lexilla</a> is a free library of language
lexers that can be used with the <a href="https://www.scintilla.org/index.html">Scintilla</a>
editing component.
It comes with complete source code and a <a href="https://www.scintilla.org/License.txt">license</a> that
permits use in any free project or commercial product.
</p>
<p>
Originally, this functionality was incorporated inside Scintilla.
It has been extracted as a separate project to make it easier for contributors to work on
support for new languages and to fix bugs in existing lexers.
It also defines a protocol where projects can implement their own lexers and distribute
them as they wish.
</p>
<p>
Current development requires a recent C++ compiler that supports C++17.
The testing framework uses some C++20 features but the basic library only uses C++17.
</p>
<p>
Lexilla is currently available for Intel Win32, macOS, and Linux compatible operating
systems. It has been run on Windows 10, macOS 10.13+, and on Ubuntu 20.04 but is likely
to run on earlier systems as it has no GUI functionality.
</p>
<p>
You can <a href="https://www.scintilla.org/LexillaDownload.html">download Lexilla.</a>
</p>
<p>
The source code can be downloaded via Git at GitHub
<a href="https://github.com/ScintillaOrg/lexilla">Lexilla project page</a>.<br />
<code>git clone https://github.com/ScintillaOrg/lexilla</code>
</p>
<p>Current repository status:<br />
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check.yml/badge.svg" /></a><br />
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-win32.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-win32.yml/badge.svg" /></a><br />
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-macos.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-macos.yml/badge.svg" /></a>
</p>
<p>
<a href="https://www.scintilla.org/ScintillaRelated.html">Related sites.</a>
</p>
<p>
<a href="https://github.com/ScintillaOrg/lexilla/issues">Bugs and other issues.</a>
</p>
<p>
<a href="https://www.scintilla.org/LexillaHistory.html">History and contribution credits.</a>
</p>
<p>
Questions and comments about Lexilla should be directed to the
<a href="https://groups.google.com/forum/#!forum/scintilla-interest">scintilla-interest</a>
mailing list,
which is for discussion of Scintilla and related projects, their bugs and future features.
This is a low traffic list, averaging less than 20 messages per week.
To avoid spam, only list members can write to the list.
New versions of Lexilla are announced on scintilla-interest.
<br />
</p>
</body>
</html>
================================================
FILE: doc/LexillaDoc.html
================================================
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator"
content="HTML Tidy for Windows (vers 1st August 2002), see www.w3.org" />
<meta name="generator" content="SciTE" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Lexilla Documentation</title>
<link rel="canonical" href="https://scintilla.org/LexillaDoc.html" />
<style type="text/css">
<!--
/*<![CDATA[*/
CODE { font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }
A:visited { color: blue; }
A:hover { text-decoration: underline ! important; }
A.message { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }
A.seealso { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }
A.toc { text-decoration: none; }
A.jump { text-decoration: none; }
LI.message { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }
H2 { background: #E0EAFF; }
table {
border: 0px;
border-collapse: collapse;
}
div.console {
font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace;
color: #008000;
font-weight: bold;
background: #F7FCF7;
border: 1px solid #C0D7C0;
margin: 0.3em 3em;
padding: 0.3em 0.6em;
}
span.console {
font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace;
color: #008000;
font-weight: bold;
background: #F7FCF7;
border: 1px solid #C0D7C0;
margin: 0.1em 0em;
padding: 0.1em 0.3em;
}
.name {
color: #B08000;
}
/*]]>*/
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table bgcolor="#000000" width="100%" cellspacing="0" cellpadding="0" border="0"
summary="Banner">
<tr>
<td><img src="SciTEIco.png" border="3" height="64" width="64" alt="Lexilla icon" /></td>
<td><a href="index.html"
style="color:white;text-decoration:none;font-size:200%">Lexilla</a></td>
</tr>
</table>
<h1>Lexilla Documentation</h1>
<p>Last edited 21 April 2021 NH</p>
<h2>Introduction</h2>
<p>Lexilla is a library containing lexers for use with Scintilla. It can be either a static library
that is linked into an application or a shared library that is loaded at runtime.</p>
<p>Lexilla does not interact with the display so there is no need to compile it for a
particular GUI toolkit. Therefore there can be a common library shared by applications using
different GUI toolkits. In some circumstances there may need to be both 32-bit and 64-bit versions
on one system to match different applications.</p>
<p>Different extensions are commonly used for shared libraries: .so on Linux, .dylib on macOS, and .DLL on Windows.
</p>
<h2>The Lexilla protocol</h2>
<p>A set of functions is defined by Lexilla for use by applications. Libraries that provide these functions
can be used as a replacement for Lexilla or to add new lexers beyond those provided by Lexilla.</p>
<p>The Lexilla protocol is a superset of the external lexer protocol and defines these functions that may be exported from a shared library:<br />
<code>int <span class="name">GetLexerCount</span>()</code><br />
<code>void <span class="name">GetLexerName</span>(unsigned int index, char *name, int buflength)</code><br />
<code>LexerFactoryFunction <span class="name">GetLexerFactory</span>(unsigned int index)</code><br />
<code>ILexer5 *<span class="name">CreateLexer</span>(const char *name)</code><br />
<code>const char *<span class="name">LexerNameFromID</span>(int identifier)</code><br />
<code>const char *<span class="name">GetLibraryPropertyNames</span>()</code><br />
<code>void <span class="name">SetLibraryProperty</span>(const char *key, const char *value)</code><br />
<code>const char *<span class="name">GetNameSpace</span>()</code>
</p>
<p><span class="name">ILexer5</span> is defined by Scintilla in include/ILexer.h as the interface provided by lexers which is called by Scintilla.
Many clients do not actually need to call methods on <span class="name">ILexer5</span> - they just take the return from CreateLexer and plug it
straight into Scintilla so it can be treated as a machine pointer (void *).
</p>
<p><span class="name">LexerFactoryFunction</span> is defined as a function that takes no arguments and returns an <span class="name">ILexer5</span> *:
<code>ILexer5 *(*LexerFactoryFunction)()</code> but this can be ignored by most client code.
</p>
<p>The Lexilla protocol is a superset of the earlier external lexer protocol that defined the first 3 functions
(<span class="name">GetLexerCount</span>, <span class="name">GetLexerName</span>, <span class="name">GetLexerFactory</span>)
so Lexilla can be loaded by applications that support that protocol.
<span class="name">GetLexerFactory</span> will rarely be used now as it is easier to call <span class="name">CreateLexer</span>.
</p>
<p><span class="name">CreateLexer</span> is the main call that will create a lexer for a particular language. The returned lexer can then be
set as the current lexer in Scintilla by calling
<a class="seealso" href="ScintillaDoc.html#SCI_SETILEXER">SCI_SETILEXER</a>.</p>
<p><span class="name">LexerNameFromID</span> is an optional function that returns the name for a lexer identifier.
<code>LexerNameFromID(SCLEX_CPP) → "cpp"</code>.
This is a temporary affordance to make it easier to convert applications to using Lexilla.
Applications should move to using lexer names instead of IDs.
This function is deprecated, showing warnings with some compilers, and will be removed in a future version of Lexilla.</p>
<p><span class="name">SetLibraryProperty</span> and <span class="name">GetLibraryPropertyNames</span>
are optional functions that can be
defined if a library requires initialisation before calling other methods.
For example, a lexer library that reads language definitions from XML files may require that the
directory containing these files be set before a call to CreateLexer.
<code>SetLibraryProperty("definitions.directory", "/usr/share/xeditor/language-definitions")</code>
If a library implements SetLibraryProperty then it may also provide a set of valid property names with
GetLibraryPropertyNames that can then be used by the application to define configuration file property
names or user interface elements for options dialogs.</p>
<p><span class="name">GetNameSpace</span> is an optional function that returns a namespace string
that can be used to disambiguate lexers with the same name from different providers.
If Lexilla and XMLLexers both provide a "cpp" lexer than a request for "cpp" may be satisfied by either but "xmllexers.cpp"
unambiguously refers to the "cpp" lexer from XMLLexers.</p>
<h2>Building Lexilla</h2>
<p>Before using Lexilla it must be built or downloaded.</p>
<p>Lexilla requires some headers from Scintilla to build and expects a directory named
"scintilla" containing a copy of Scintilla 5+ to be a peer of the Lexilla top level
directory conventionally called "lexilla".</p>
<div>To build Lexilla, in the lexilla/src directory, run make (for gcc or clang)</div>
<div class="console">make</div>
<div>or nmake for MSVC</div>
<div class="console">nmake -f lexilla.mak</div>
<br />
<div>After building Lexilla, its test suite can be run with make/nmake in the lexilla/test directory. For gcc or clang</div>
<div class="console">make test</div>
or for MSVC<br />
<div class="console">nmake -f testlexers.mak test</div>
<div>Each test case should show "<code>Lexing ...</code>" and errors will display a diagnostic, commonly showing
a difference between the actual and expected result:<br>
<code>C:\u\hg\lexilla\test\examples\python\x.py:1: is different</code>
</div>
<p>There are also RunTest.sh / RunTest.bat scripts in the scripts directory to build Lexilla and then build and run the tests.
These both use gcc/clang, not MSVC.</p>
<p>There are Microsoft Visual C++ and Xcode projects that can be used to build Lexilla.
For Visual C++: src/Lexilla.vcxproj. For Xcode: src/Lexilla/Lexilla.xcodeproj.
There is also test/TestLexers.vcxproj to build the tests with Visual C++.</p>
<h2>Using Lexilla</h2>
<p>Definitions for using Lexilla from C and C++ are included in lexilla/include/Lexilla.h.
For C++, scintilla/include/ILexer.h should be included before Lexilla.h as the
<code>ILexer5</code> type is used.
For C, ILexer.h should not be included as C does not understand it and from C,
<code>void*</code> is used instead of <code>ILexer5*</code>.
</p>
<p>For many applications the main Lexilla operations are loading the Lexilla library, creating a
lexer and using that lexer in Scintilla.
Applications need to define the location (or locations) they expect
to find Lexilla or libraries that support the Lexilla protocol.
They also need to define how they request particular lexers, perhaps with a mapping from
file extensions to lexer names.</p>
<h3 id="CheckLexilla">From C - CheckLexilla</h3>
<p>An example C program for accessing Lexilla is provided in lexilla/examples/CheckLexilla.
Build with <span class="console">make</span> and run with <span class="console">make check</span>.
</p>
<h3>From C++ - LexillaAccess</h3>
<p>A C++ module, LexillaAccess.cxx / LexillaAccess.h is provided in lexilla/access.
This can either be compiled into the application when it is sufficient
or the source code can be copied into the application and customized when the application has additional requirements
(such as checking code signatures).
SciTE uses LexillaAccess.</p>
<p>LexillaAccess supports loading multiple shared libraries implementing the Lexilla protocol at one time.</p>
<h3>From Qt</h3>
<p>For Qt, use either LexillaAccess from above or Qt's QLibrary class. With 'Call' defined to call Scintilla APIs.<br />
<code>
#if _WIN32<br />
typedef void *(__stdcall *CreateLexerFn)(const char *name);<br />
#else<br />
typedef void *(*CreateLexerFn)(const char *name);<br />
#endif<br />
QFunctionPointer fn = QLibrary::resolve("lexilla", "CreateLexer");<br />
void *lexCpp = ((CreateLexerFn)fn)("cpp");<br />
Call(SCI_SETILEXER, 0, (sptr_t)(void *)lexCpp);<br />
</code></p>
<p>Applications may discover the set of lexers provided by a library by first calling
<span class="name">GetLexerCount</span> to find the number of lexers implemented in the library then looping over calling
<span class="name">GetLexerName</span> with integers 0 to <code>GetLexerCount()-1</code>.</p>
<p>Applications may set properties on a library by calling <span class="name">SetLibraryProperty</span> if provided.
This may be needed for initialisation so should before calling <span class="name">GetLexerCount</span> or <span class="name">CreateLexer</span>.
A set of property names may be available from <span class="name">GetLibraryPropertyNames</span> if provided.
It returns a string pointer where the string contains a list of property names separated by '\n'.
It is up to applications to define how properties are defined and persisted in its user interface
and configuration files.</p>
<h2>Modifying or adding lexers</h2>
<p>Lexilla can be modified or a new library created that can be used to replace or augment Lexilla.</p>
<p>Lexer libraries that provide the same functions as Lexilla may provide lexers for use by Scintilla,
augmenting or replacing those provided by Lexilla.
To allow initialisation of lexer libraries, a <code>SetLibraryProperty(const char *key, const char *value)</code>
may optionally be implemented. For example, a lexer library that uses XML based lexer definitions may
be provided with a directory to search for such definitions.
Lexer libraries should ignore any properties that they do not understand.
The set of properties supported by a lexer library is specified as a '\n' separated list of property names by
an optional <code>const char *GetLibraryPropertyNames()</code> function.
</p>
<p>Lexilla and its contained lexers can be tested with the TestLexers program in lexilla/test.
Read lexilla/test/README for information on building and using TestLexers.</p>
<p>An example of a simple lexer housed in a shared library that is compatible with the
Lexilla protocol can be found in lexilla/examples/SimpleLexer. It is implemented in C++.
Build with <span class="console">make</span> and check by running <a href="#CheckLexilla">CheckLexilla</a> against it with
<span class="console">make check</span>.
</p>
</body>
</html>
================================================
FILE: doc/LexillaDownload.html
================================================
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<meta name="generator" content="SciTE" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Download Lexilla
</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table bgcolor="#000000" width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<img src="SciTEIco.png" border="3" height="64" width="64" alt="Scintilla icon" />
</td>
<td>
<a href="index.html" style="color:white;text-decoration:none"><font size="5">Download
Lexilla</font></a>
</td>
</tr>
</table>
<table bgcolor="#CCCCCC" width="100%" cellspacing="0" cellpadding="8" border="0">
<tr>
<td>
<font size="4"> <a href="https://www.scintilla.org/lexilla549.zip">
Windows</a>
<a href="https://www.scintilla.org/lexilla549.tgz">
GTK/Linux</a>
</font>
</td>
</tr>
</table>
<h2>
Download.
</h2>
<p>
The <a href="License.txt">license</a> for using Lexilla is similar to that of Python
containing very few restrictions.
</p>
<h3>
Release 5.4.9
</h3>
<h4>
Source Code
</h4>
The source code package contains all of the source code for Lexilla but no binary
executable code and is available in
<ul>
<li><a href="https://www.scintilla.org/lexilla549.zip">zip format</a> (1.5M) commonly used on Windows</li>
<li><a href="https://www.scintilla.org/lexilla549.tgz">tgz format</a> (1.1M) commonly used on Linux and compatible operating systems</li>
</ul>
Instructions for building on both Windows and Linux are included in the readme file.
<h4>
Windows Executable Code
</h4>
There is no download available containing only the Lexilla DLL.
However, it is included in the <a href="SciTEDownload.html">SciTE
executable full download</a> as Lexilla.DLL.
<p>
<a href="SciTEDownload.html">SciTE</a> is a good demonstration of Lexilla.
</p>
<p>
Previous versions can be downloaded from the <a href="LexillaHistory.html">history
page</a>.
</p>
</body>
</html>
================================================
FILE: doc/LexillaHistory.html
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<meta name="generator" content="SciTE" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Lexilla
</title>
<style type="text/css">
table {
border-collapse: collapse;
font-size: 80%;
}
td {
xborder: 1px solid #1F1F1F;
padding: 0px 4px;
}
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table bgcolor="#000000" width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<img src="SciTEIco.png" border="3" height="64" width="64" alt="Scintilla icon" />
</td>
<td>
<a href="index.html" style="color:white;text-decoration:none"><font size="5">Lexilla</font></a>
</td>
</tr>
</table>
<h1>History of Lexilla</h1>
<p>
Lexilla was originally code that was part of the Scintilla project.
Thus it shares much of the history and contributors of Scintilla before it was extracted as its own project.
</p>
<a href="#Releases">Releases</a>
<h2>Contributors</h2>
<p>
Thanks to all the people that have contributed patches, bug reports and suggestions.
</p>
<p>
Source code and documentation have been contributed by
</p>
<table>
<tr>
<td>Atsuo Ishimoto</td>
<td>Mark Hammond</td>
<td>Francois Le Coguiec</td>
<td>Dale Nagata</td>
</tr><tr>
<td>Ralf Reinhardt</td>
<td>Philippe Lhoste</td>
<td>Andrew McKinlay</td>
<td>Stephan R. A. Deibel</td>
</tr><tr>
<td>Hans Eckardt</td>
<td>Vassili Bourdo</td>
<td>Maksim Lin</td>
<td>Robin Dunn</td>
</tr><tr>
<td>John Ehresman</td>
<td>Steffen Goeldner</td>
<td>Deepak S.</td>
<td><a href="http://www.develop.com">DevelopMentor</a></td>
</tr><tr>
<td>Yann Gaillard</td>
<td>Aubin Paul</td>
<td>Jason Diamond</td>
<td>Ahmad Baitalmal</td>
</tr><tr>
<td>Paul Winwood</td>
<td>Maxim Baranov</td>
<td>Ragnar Højland</td>
<td>Christian Obrecht</td>
</tr><tr>
<td>Andreas Neukoetter</td>
<td>Adam Gates</td>
<td>Steve Lhomme</td>
<td>Ferdinand Prantl</td>
</tr><tr>
<td>Jan Dries</td>
<td>Markus Gritsch</td>
<td>Tahir Karaca</td>
<td>Ahmad Zawawi</td>
</tr><tr>
<td>Laurent le Tynevez</td>
<td>Walter Braeu</td>
<td>Ashley Cambrell</td>
<td>Garrett Serack</td>
</tr><tr>
<td>Holger Schmidt</td>
<td><a href="http://www.activestate.com">ActiveState</a></td>
<td>James Larcombe</td>
<td>Alexey Yutkin</td>
</tr><tr>
<td>Jan Hercek</td>
<td>Richard Pecl</td>
<td>Edward K. Ream</td>
<td>Valery Kondakoff</td>
</tr><tr>
<td>Smári McCarthy</td>
<td>Clemens Wyss</td>
<td>Simon Steele</td>
<td>Serge A. Baranov</td>
</tr><tr>
<td>Xavier Nodet</td>
<td>Willy Devaux</td>
<td>David Clain</td>
<td>Brendon Yenson</td>
</tr><tr>
<td><a href="http://www.baanboard.com">Vamsi Potluru</a></td>
<td>Praveen Ambekar</td>
<td>Alan Knowles</td>
<td>Kengo Jinno</td>
</tr><tr>
<td>Valentin Valchev</td>
<td>Marcos E. Wurzius</td>
<td>Martin Alderson</td>
<td>Robert Gustavsson</td>
</tr><tr>
<td>José Fonseca</td>
<td>Holger Kiemes</td>
<td>Francis Irving</td>
<td>Scott Kirkwood</td>
</tr><tr>
<td>Brian Quinlan</td>
<td>Ubi</td>
<td>Michael R. Duerig</td>
<td>Deepak T</td>
</tr><tr>
<td>Don Paul Beletsky</td>
<td>Gerhard Kalab</td>
<td>Olivier Dagenais</td>
<td>Josh Wingstrom</td>
</tr><tr>
<td>Bruce Dodson</td>
<td>Sergey Koshcheyev</td>
<td>Chuan-jian Shen</td>
<td>Shane Caraveo</td>
</tr><tr>
<td>Alexander Scripnik</td>
<td>Ryan Christianson</td>
<td>Martin Steffensen</td>
<td>Jakub Vrána</td>
</tr><tr>
<td>The Black Horus</td>
<td>Bernd Kreuss</td>
<td>Thomas Lauer</td>
<td>Mike Lansdaal</td>
</tr><tr>
<td>Yukihiro Nakai</td>
<td>Jochen Tucht</td>
<td>Greg Smith</td>
<td>Steve Schoettler</td>
</tr><tr>
<td>Mauritius Thinnes</td>
<td>Darren Schroeder</td>
<td>Pedro Guerreiro</td>
<td>Steven te Brinke</td>
</tr><tr>
<td>Dan Petitt</td>
<td>Biswapesh Chattopadhyay</td>
<td>Kein-Hong Man</td>
<td>Patrizio Bekerle</td>
</tr><tr>
<td>Nigel Hathaway</td>
<td>Hrishikesh Desai</td>
<td>Sergey Puljajev</td>
<td>Mathias Rauen</td>
</tr><tr>
<td><a href="http://www.spaceblue.com">Angelo Mandato</a></td>
<td>Denis Sureau</td>
<td>Kaspar Schiess</td>
<td>Christoph Hösler</td>
</tr><tr>
<td>João Paulo F Farias</td>
<td>Ron Schofield</td>
<td>Stefan Wosnik</td>
<td>Marius Gheorghe</td>
</tr><tr>
<td>Naba Kumar</td>
<td>Sean O'Dell</td>
<td>Stefanos Togoulidis</td>
<td>Hans Hagen</td>
</tr><tr>
<td>Jim Cape</td>
<td>Roland Walter</td>
<td>Brian Mosher</td>
<td>Nicholas Nemtsev</td>
</tr><tr>
<td>Roy Wood</td>
<td>Peter-Henry Mander</td>
<td>Robert Boucher</td>
<td>Christoph Dalitz</td>
</tr><tr>
<td>April White</td>
<td>S. Umar</td>
<td>Trent Mick</td>
<td>Filip Yaghob</td>
</tr><tr>
<td>Avi Yegudin</td>
<td>Vivi Orunitia</td>
<td>Manfred Becker</td>
<td>Dimitris Keletsekis</td>
</tr><tr>
<td>Yuiga</td>
<td>Davide Scola</td>
<td>Jason Boggs</td>
<td>Reinhold Niesner</td>
</tr><tr>
<td>Jos van der Zande</td>
<td>Pescuma</td>
<td>Pavol Bosik</td>
<td>Johannes Schmid</td>
</tr><tr>
<td>Blair McGlashan</td>
<td>Mikael Hultgren</td>
<td>Florian Balmer</td>
<td>Hadar Raz</td>
</tr><tr>
<td>Herr Pfarrer</td>
<td>Ben Key</td>
<td>Gene Barry</td>
<td>Niki Spahiev</td>
</tr><tr>
<td>Carsten Sperber</td>
<td>Phil Reid</td>
<td>Iago Rubio</td>
<td>Régis Vaquette</td>
</tr><tr>
<td>Massimo Corà</td>
<td>Elias Pschernig</td>
<td>Chris Jones</td>
<td>Josiah Reynolds</td>
</tr><tr>
<td>Robert Roessler <a href="http://www.rftp.com">rftp.com</a></td>
<td>Steve Donovan</td>
<td>Jan Martin Pettersen</td>
<td>Sergey Philippov</td>
</tr><tr>
<td>Borujoa</td>
<td>Michael Owens</td>
<td>Franck Marcia</td>
<td>Massimo Maria Ghisalberti</td>
</tr><tr>
<td>Frank Wunderlich</td>
<td>Josepmaria Roca</td>
<td>Tobias Engvall</td>
<td>Suzumizaki Kimitaka</td>
</tr><tr>
<td>Michael Cartmell</td>
<td>Pascal Hurni</td>
<td>Andre</td>
<td>Randy Butler</td>
</tr><tr>
<td>Georg Ritter</td>
<td>Michael Goffioul</td>
<td>Ben Harper</td>
<td>Adam Strzelecki</td>
</tr><tr>
<td>Kamen Stanev</td>
<td>Steve Menard</td>
<td>Oliver Yeoh</td>
<td>Eric Promislow</td>
</tr><tr>
<td>Joseph Galbraith</td>
<td>Jeffrey Ren</td>
<td>Armel Asselin</td>
<td>Jim Pattee</td>
</tr><tr>
<td>Friedrich Vedder</td>
<td>Sebastian Pipping</td>
<td>Andre Arpin</td>
<td>Stanislav Maslovski</td>
</tr><tr>
<td>Martin Stone</td>
<td>Fabien Proriol</td>
<td>mimir</td>
<td>Nicola Civran</td>
</tr><tr>
<td>Snow</td>
<td>Mitchell Foral</td>
<td>Pieter Holtzhausen</td>
<td>Waldemar Augustyn</td>
</tr><tr>
<td>Jason Haslam</td>
<td>Sebastian Steinlechner</td>
<td>Chris Rickard</td>
<td>Rob McMullen</td>
</tr><tr>
<td>Stefan Schwendeler</td>
<td>Cristian Adam</td>
<td>Nicolas Chachereau</td>
<td>Istvan Szollosi</td>
</tr><tr>
<td>Xie Renhui</td>
<td>Enrico Tröger</td>
<td>Todd Whiteman</td>
<td>Yuval Papish</td>
</tr><tr>
<td>instanton</td>
<td>Sergio Lucato</td>
<td>VladVRO</td>
<td>Dmitry Maslov</td>
</tr><tr>
<td>chupakabra</td>
<td>Juan Carlos Arevalo Baeza</td>
<td>Nick Treleaven</td>
<td>Stephen Stagg</td>
</tr><tr>
<td>Jean-Paul Iribarren</td>
<td>Tim Gerundt</td>
<td>Sam Harwell</td>
<td>Boris</td>
</tr><tr>
<td>Jason Oster</td>
<td>Gertjan Kloosterman</td>
<td>alexbodn</td>
<td>Sergiu Dotenco</td>
</tr><tr>
<td>Anders Karlsson</td>
<td>ozlooper</td>
<td>Marko Njezic</td>
<td>Eugen Bitter</td>
</tr><tr>
<td>Christoph Baumann</td>
<td>Christopher Bean</td>
<td>Sergey Kishchenko</td>
<td>Kai Liu</td>
</tr><tr>
<td>Andreas Rumpf</td>
<td>James Moffatt</td>
<td>Yuzhou Xin</td>
<td>Nic Jansma</td>
</tr><tr>
<td>Evan Jones</td>
<td>Mike Lischke</td>
<td>Eric Kidd</td>
<td>maXmo</td>
</tr><tr>
<td>David Severwright</td>
<td>Jon Strait</td>
<td>Oliver Kiddle</td>
<td>Etienne Girondel</td>
</tr><tr>
<td>Haimag Ren</td>
<td>Andrey Moskalyov</td>
<td>Xavi</td>
<td>Toby Inkster</td>
</tr><tr>
<td>Eric Forgeot</td>
<td>Colomban Wendling</td>
<td>Neo</td>
<td>Jordan Russell</td>
</tr><tr>
<td>Farshid Lashkari</td>
<td>Sam Rawlins</td>
<td>Michael Mullin</td>
<td>Carlos SS</td>
</tr><tr>
<td>vim</td>
<td>Martial Demolins</td>
<td>Tino Weinkauf</td>
<td>Jérôme Laforge</td>
</tr><tr>
<td>Udo Lechner</td>
<td>Marco Falda</td>
<td>Dariusz Knociński</td>
<td>Ben Fisher</td>
</tr><tr>
<td>Don Gobin</td>
<td>John Yeung</td>
<td>Adobe</td>
<td>Elizabeth A. Irizarry</td>
</tr><tr>
<td>Mike Schroeder</td>
<td>Morten MacFly</td>
<td>Jaime Gimeno</td>
<td>Thomas Linder Puls</td>
</tr><tr>
<td>Artyom Zuikov</td>
<td>Gerrit</td>
<td>Occam's Razor</td>
<td>Ben Bluemel</td>
</tr><tr>
<td>David Wolfendale</td>
<td>Chris Angelico</td>
<td>Marat Dukhan</td>
<td>Stefan Weil</td>
</tr><tr>
<td>Rex Conn</td>
<td>Ross McKay</td>
<td>Bruno Barbieri</td>
<td>Gordon Smith</td>
</tr><tr>
<td>dimitar</td>
<td>Sébastien Granjoux</td>
<td>zeniko</td>
<td>James Ribe</td>
</tr><tr>
<td>Markus Nißl</td>
<td>Martin Panter</td>
<td>Mark Yen</td>
<td>Philippe Elsass</td>
</tr><tr>
<td>Dimitar Zhekov</td>
<td>Fan Yang</td>
<td>Denis Shelomovskij</td>
<td>darmar</td>
</tr><tr>
<td>John Vella</td>
<td>Chinh Nguyen</td>
<td>Sakshi Verma</td>
<td>Joel B. Mohler</td>
</tr><tr>
<td>Isiledhel</td>
<td>Vidya Wasi</td>
<td>G. Hu</td>
<td>Byron Hawkins</td>
</tr><tr>
<td>Alpha</td>
<td>John Donoghue</td>
<td>kudah</td>
<td>Igor Shaula</td>
</tr><tr>
<td>Pavel Bulochkin</td>
<td>Yosef Or Boczko</td>
<td>Brian Griffin</td>
<td>Özgür Emir</td>
</tr><tr>
<td>Neomi</td>
<td>OmegaPhil</td>
<td>SiegeLord</td>
<td>Erik</td>
</tr><tr>
<td>TJF</td>
<td>Mark Robinson</td>
<td>Thomas Martitz</td>
<td>felix</td>
</tr><tr>
<td>Christian Walther</td>
<td>Ebben</td>
<td>Robert Gieseke</td>
<td>Mike M</td>
</tr><tr>
<td>nkmathew</td>
<td>Andreas Tscharner</td>
<td>Lee Wilmott</td>
<td>johnsonj</td>
</tr><tr>
<td>Vicente</td>
<td>Nick Gravgaard</td>
<td>Ian Goldby</td>
<td>Holger Stenger</td>
</tr><tr>
<td>danselmi</td>
<td>Mat Berchtold</td>
<td>Michael Staszewski</td>
<td>Baurzhan Muftakhidinov</td>
</tr><tr>
<td>Erik Angelin</td>
<td>Yusuf Ramazan Karagöz</td>
<td>Markus Heidelberg</td>
<td>Joe Mueller</td>
</tr><tr>
<td>Mika Attila</td>
<td>JoMazM</td>
<td>Markus Moser</td>
<td>Stefan Küng</td>
</tr><tr>
<td>Jiří Techet</td>
<td>Jonathan Hunt</td>
<td>Serg Stetsuk</td>
<td>Jordan Jueckstock</td>
</tr><tr>
<td>Yury Dubinsky</td>
<td>Sam Hocevar</td>
<td>Luyomi</td>
<td>Matt Gilarde</td>
</tr><tr>
<td>Mark C</td>
<td>Johannes Sasongko</td>
<td>fstirlitz</td>
<td>Robin Haberkorn</td>
</tr><tr>
<td>Pavel Sountsov</td>
<td>Dirk Lorenzen</td>
<td>Kasper B. Graversen</td>
<td>Chris Mayo</td>
</tr><tr>
<td>Van de Bugger</td>
<td>Tse Kit Yam</td>
<td><a href="https://www.smartsharesystems.com/">SmartShare Systems</a></td>
<td>Morten Brørup</td>
</tr><tr>
<td>Alexey Denisov</td>
<td>Justin Dailey</td>
<td>oirfeodent</td>
<td>A-R-C-A</td>
</tr><tr>
<td>Roberto Rossi</td>
<td>Kenny Liu</td>
<td>Iain Clarke</td>
<td>desto</td>
</tr><tr>
<td>John Flatness</td>
<td>Thorsten Kani</td>
<td>Bernhard M. Wiedemann</td>
<td>Baldur Karlsson</td>
</tr><tr>
<td>Martin Kleusberg</td>
<td>Jannick</td>
<td>Zufu Liu</td>
<td>Simon Sobisch</td>
</tr><tr>
<td>Georger Araújo</td>
<td>Tobias Kühne</td>
<td>Dimitar Radev</td>
<td>Liang Bai</td>
</tr><tr>
<td>Gunter Königsmann</td>
<td>Nicholai Benalal</td>
<td>Uniface</td>
<td>Raghda Morsy</td>
</tr><tr>
<td>Giuseppe Corbelli</td>
<td>Andreas Rönnquist</td>
<td>Henrik Hank</td>
<td>Luke Rasmussen</td>
</tr><tr>
<td>Philipp</td>
<td>maboroshin</td>
<td>Gokul Krishnan</td>
<td>John Horigan</td>
</tr><tr>
<td>jj5</td>
<td>Jad Altahan</td>
<td>Andrea Ricchi</td>
<td>Juarez Rudsatz</td>
</tr><tr>
<td>Wil van Antwerpen</td>
<td>Hodong Kim</td>
<td>Michael Conrad</td>
<td>Dejan Budimir</td>
</tr><tr>
<td>Andreas Falkenhahn</td>
<td>Mark Reay</td>
<td>David Shuman</td>
<td>McLoo</td>
</tr><tr>
<td>Shmuel Zeigerman</td>
<td>Chris Graham</td>
<td>Hugues Larrive</td>
<td>Prakash Sahni</td>
</tr><tr>
<td>Michel Sauvard</td>
<td>uhf7</td>
<td>gnombat</td>
<td>Derek Brown</td>
</tr><tr>
<td>Robert Di Pardo</td>
<td>riQQ</td>
<td>YX Hao</td>
<td>Bertrand Lacoste</td>
</tr><tr>
<td>Ivan Ustûžanin</td>
<td>Rainer Kottenhoff</td>
<td>feitoi</td>
<td>vsl7</td>
</tr><tr>
<td>Michael Heath</td>
<td>Antonio Cebrián</td>
<td>David Yu Yang</td>
<td>Arkadiusz Michalski</td>
</tr><tr>
<td>Red_M</td>
<td>cdbdev</td>
<td>Andrey Smolyakov</td>
<td>Knut Leimbert</td>
</tr><tr>
<td>German Aizek</td>
<td>Tsuyoshi Miyake</td>
<td>Martin Schäfer</td>
<td>RainRat</td>
</tr><tr>
<td>Henrik S. Johansen</td>
<td>Ekopalypse</td>
<td>HoTschir</td>
<td>Ahmet Sait</td>
</tr><tr>
<td>Franck Reinquin</td>
<td>Peter C. Jones</td>
<td>Stefan Löffler</td>
</tr>
</table>
<h2 id="Releases">Releases</h2>
<h3>
<a href="https://www.scintilla.org/lexilla550.zip">Release 5.5.0</a>
</h3>
<ul>
<li>
Released 29 April 2026.
</li>
<li>
LaTeX: Fix issues at end of file.
<a href="https://github.com/ScintillaOrg/lexilla/issues/355">Issue #355</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/358">Pull request #358</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla549.zip">Release 5.4.9</a>
</h3>
<ul>
<li>
Released 29 April 2026.
</li>
<li>
Assembler: Add SCE_ASM_STRINGBACKQUOTE for NASM `back-quoted strings`.
<a href="https://github.com/ScintillaOrg/lexilla/issues/220">Issue #220</a>.
</li>
<li>
C++: Fold for '#pragma region' and '#pragma endregion'.
<a href="https://github.com/ScintillaOrg/lexilla/issues/324">Issue #324</a>.
</li>
<li>
F#: Allow '!' for async keywords.
<a href="https://github.com/ScintillaOrg/lexilla/issues/352">Issue #352</a>.
</li>
<li>
F#: Stabilize styling of long strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/353">Issue #353</a>.
</li>
<li>
F#: Fold long strings with fold.fsharp.quotes.
<a href="https://github.com/ScintillaOrg/lexilla/issues/354">Issue #354</a>.
</li>
<li>
LaTeX: Fix bug when "\" at end of file.
<a href="https://github.com/ScintillaOrg/lexilla/issues/355">Issue #355</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/356">Pull request #356</a>.
</li>
<li>
Pascal: New SCE_PAS_MULTILINESTRING for multi-line triple-quoted strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/321">Issue #321</a>.
</li>
<li>
Ruby: Fix bug when "?\" at end of file.
<a href="https://github.com/ScintillaOrg/lexilla/issues/355">Issue #355</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/357">Pull request #357</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla548.zip">Release 5.4.8</a>
</h3>
<ul>
<li>
Released 26 March 2026.
</li>
<li>
Batch: Remove line length limitation and change to an object lexer.
<a href="https://github.com/ScintillaOrg/lexilla/issues/228">Issue #228</a>.
</li>
<li>
Forth: Treat \r\n line ends the same as \n. This makes testing easier.
<a href="https://github.com/ScintillaOrg/lexilla/issues/349">Issue #349</a>.
</li>
<li>
Forth: Allow more Forth words to be symbols or begin with a symbol.
Require whitespace around line comment tokens,
similar to the left-hand parenthesis of stream comments.
<a href="https://github.com/ScintillaOrg/lexilla/issues/351">Issue #351</a>.
</li>
<li>
JavaScript: in cpp lexer, add lexer.cpp.enable.preprocessor and lexer.cpp.allow.hashes properties.
This allows disabling preprocessor recognition (as JavaScript doesn't have a preprocessor) and
recognizing private elements that start with a #.
<a href="https://github.com/ScintillaOrg/lexilla/issues/48">Issue #48</a>.
</li>
<li>
JSON: Fix escaped quote in SCE_JSON_URI.
<a href="https://github.com/ScintillaOrg/lexilla/issues/72">Issue #72</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla547.zip">Release 5.4.7</a>
</h3>
<ul>
<li>
Released 25 February 2026.
</li>
<li>
Test a single lexer or multiple directories by specifying as command line arguments to TestLexers.
<a href="https://github.com/ScintillaOrg/lexilla/pull/344">Pull request #344</a>.
</li>
<li>
Lexer added for escape sequences "escseq".
<a href="https://github.com/ScintillaOrg/lexilla/pull/336">Pull request #336</a>.
</li>
<li>
Errorlist: Fix reset escape sequence to set style SCE_ERR_DEFAULT (0) instead of SCE_ERR_ES_BLACK.
<a href="https://github.com/ScintillaOrg/lexilla/issues/333">Issue #333</a>.
</li>
<li>
Makefile: Recognize comments in more situations.
<a href="https://github.com/ScintillaOrg/lexilla/issues/40">Issue #40</a>.
</li>
<li>
Perl: Handle 'method' the same as 'sub' for special cases.
<a href="https://github.com/ScintillaOrg/lexilla/issues/342">Issue #342</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/343">Pull request #343</a>.
</li>
<li>
Progress: Add SCE_ABL_ANNOTATION and SCE_ABL_TYPEDANNOTATION styles.
<a href="https://github.com/ScintillaOrg/lexilla/pull/346">Pull request #346</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla546.zip">Release 5.4.6</a>
</h3>
<ul>
<li>
Released 10 November 2025.
</li>
<li>
Lexer added for SINEX "sinex".
<a href="https://github.com/ScintillaOrg/lexilla/pull/329">Pull request #329</a>.
</li>
<li>
Update character categories to Unicode 16.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1569/">Feature #1569</a>.
</li>
<li>
Errorlist: Allow "bright" ANSI sequences (ESC[90m - ESC[97m).
<a href="https://github.com/ScintillaOrg/lexilla/pull/332">Pull request #332</a>.
</li>
<li>
Progress: Treat '.' as part of compound identifiers instead of as an operator between identifiers.
<a href="https://github.com/ScintillaOrg/lexilla/pull/316">Pull request #316</a>.
</li>
<li>
Python: Support t-strings t\"var={var}\" added by Python 3.14.
<a href="https://github.com/ScintillaOrg/lexilla/pull/328">Pull request #328</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla545.zip">Release 5.4.5</a>
</h3>
<ul>
<li>
Released 8 June 2025.
</li>
<li>
Dart: Add error state SCE_DART_STRINGEOL for unterminated string.
<a href="https://github.com/ScintillaOrg/lexilla/pull/315">Pull request #315</a>.
</li>
<li>
Makefile: Add a keyword list to makefile lexer to highlight GNU Make directives like 'ifdef' and 'vpath' as
SCE_MAKE_PREPROCESSOR since these are similar to NMAKE directives like '!IFDEF'.
</li>
<li>
Nix: Add error state SCE_NIX_STRINGEOL for unterminated string.
<a href="https://github.com/ScintillaOrg/lexilla/pull/315">Pull request #315</a>.
</li>
<li>
TOML: Add error state SCE_TOML_STRINGEOL for unterminated string.
<a href="https://github.com/ScintillaOrg/lexilla/pull/315">Pull request #315</a>.
</li>
<li>
Zig: Add error state SCE_ZIG_STRINGEOL for unterminated string.
<a href="https://github.com/ScintillaOrg/lexilla/pull/315">Pull request #315</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla544.zip">Release 5.4.4</a>
</h3>
<ul>
<li>
Released 2 April 2025.
</li>
<li>
Fix building for ARM64.
<a href="https://github.com/ScintillaOrg/lexilla/pull/308">Pull request #308</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla543.zip">Release 5.4.3</a>
</h3>
<ul>
<li>
Released 25 February 2025.
</li>
<li>
C++: Fix evaluation of != in preprocessor condition.
<a href="https://github.com/ScintillaOrg/lexilla/issues/299">Issue #299</a>.
</li>
<li>
Modula-3: Allow digits in uppercase identifiers.
<a href="https://github.com/ScintillaOrg/lexilla/issues/297">Issue #297</a>.
</li>
<li>
Pascal: Fix asm style extending past end.
<a href="https://github.com/ScintillaOrg/lexilla/issues/295">Issue #295</a>.
</li>
<li>
Python: Fix detection of attributes and decorators.
<a href="https://github.com/ScintillaOrg/lexilla/issues/294">Issue #294</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/302">Pull request #302</a>.
</li>
<li>
Ruby: Implement substyles for identifiers SCE_RB_IDENTIFIER.
</li>
<li>
Ruby: Recognize name as SCE_RB_DEFNAME in def when `::` used as well as `.`.
<a href="https://github.com/ScintillaOrg/lexilla/issues/300">Issue #300</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla542.zip">Release 5.4.2</a>
</h3>
<ul>
<li>
Released 18 December 2024.
</li>
<li>
Update to Unicode 15.1.
<a href="https://github.com/ScintillaOrg/lexilla/issues/285">Issue #285</a>.
</li>
<li>
Lexer added for Nix "nix".
<a href="https://github.com/ScintillaOrg/lexilla/pull/282">Pull request #282</a>.
</li>
<li>
JavaScript: Use correct SCE_HJA_TEMPLATELITERAL style for server-side template literals in
HTML instead of client-side style.
<a href="https://github.com/ScintillaOrg/lexilla/issues/286">Issue #286</a>.
</li>
<li>
JavaScript: Use correct SCE_HJ_SYMBOLS style for '.' after regex instead of SCE_HJ_WORD.
Prevent empty word assertion when non-word character after regex flag.
<a href="https://github.com/ScintillaOrg/lexilla/issues/289">Issue #289</a>.
</li>
<li>
PHP: Fix unstable lexing with substyled keyword and unterminated string.
<a href="https://github.com/ScintillaOrg/lexilla/issues/288">Issue #288</a>.
</li>
<li>
Rust: Add C string and raw C string literal styles SCE_RUST_CSTRING and SCE_RUST_CSTRINGR.
<a href="https://github.com/ScintillaOrg/lexilla/pull/292">Pull request #292</a>,
<a href="https://github.com/ScintillaOrg/lexilla/issues/268">Issue #268</a>.
</li>
<li>
TOML: Don't treat keys without values as errors.
<a href="https://github.com/ScintillaOrg/lexilla/pull/283">Pull request #283</a>.
</li>
<li>
Zig: Add SCE_ZIG_IDENTIFIER_STRING for identifiers expressed as strings.
<a href="https://github.com/ScintillaOrg/lexilla/pull/287">Pull request #287</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla541.zip">Release 5.4.1</a>
</h3>
<ul>
<li>
Released 19 October 2024.
</li>
<li>
Lexer added for Dart "dart".
<a href="https://github.com/ScintillaOrg/lexilla/pull/265">Pull request #265</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/275">Pull request #275</a>.
</li>
<li>
Lexer added for troff / nroff "troff".
<a href="https://github.com/ScintillaOrg/lexilla/pull/264">Pull request #264</a>.
</li>
<li>
Lexer added for Zig "zig".
<a href="https://github.com/ScintillaOrg/lexilla/pull/267">Pull request #267</a>.
</li>
<li>
C++: Fix crash for empty documentation comment keyword where '<' occurs at line end.
</li>
<li>
F#: Include EOLs in the style range of SCE_FSHARP_COMMENTLINE.
Stabilizes EOL detection when folding line comment groups.
<a href="https://github.com/ScintillaOrg/lexilla/issues/276">Issue #276</a>.
</li>
<li>
F#: Fix per-line folding in F# documents.
<a href="https://github.com/ScintillaOrg/lexilla/issues/277">Issue #277</a>.
</li>
<li>
HTML: Improve SGML/DTD lexing.
Don't terminate SGML when > inside quoted string.
Lex both [ and ] as SCE_H_SGML_DEFAULT.
Nested sections handled instead of switching to SCE_H_SGML_ERROR.
<a href="https://github.com/ScintillaOrg/lexilla/issues/272">Issue #272</a>.
</li>
<li>
JavaScript: New SCE_HJ_TEMPLATELITERAL and SCE_HJA_TEMPLATELITERAL
styles for template literals when lexer is hypertext, or xml.
<a href="https://github.com/ScintillaOrg/lexilla/issues/280">Issue #280</a>.
</li>
<li>
PHP: Fix failure to recognize PHP start "<?php' at end of document.
Caused by not capping retrieval range at document end causing no text to be retrieved.
<a href="https://github.com/ScintillaOrg/lexilla/issues/269">Issue #269</a>.
</li>
<li>
Smalltalk: Fix scaled decimal numbers without decimal separator.
<a href="https://github.com/ScintillaOrg/lexilla/pull/274">Pull request #274</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla540.zip">Release 5.4.0</a>
</h3>
<ul>
<li>
Released 21 August 2024.
</li>
<li>
Inside Lexilla, LexerModule instances are now const.
This will require changes to applications that modify Lexilla.cxx, which
may be done to add custom lexers.
</li>
<li>
Lexer added for TOML "toml".
</li>
<li>
Bash: Handle backslash in heredoc delimiter.
<a href="https://github.com/ScintillaOrg/lexilla/issues/257">Issue #257</a>.
</li>
<li>
Progress: Fix lexing of nested comments.
<a href="https://github.com/ScintillaOrg/lexilla/pull/258">Pull request #258</a>.
</li>
<li>
Force lower-casing of case-insensitive keyword lists so keywords match in some lexers.
<a href="https://github.com/ScintillaOrg/lexilla/issues/259">Issue #259</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla533.zip">Release 5.3.3</a>
</h3>
<ul>
<li>
Released 22 July 2024.
</li>
<li>
ASP: Control whether ASP is enabled for XML and HTML with
lexer.xml.allow.asp and lexer.html.allow.asp.
<a href="https://github.com/ScintillaOrg/lexilla/issues/252">Issue #252</a>.
</li>
<li>
JavaScript: Recognize regular expressions at start or after '>' in JavaScript when lexer is cpp,
hypertext, or xml.
<a href="https://github.com/ScintillaOrg/lexilla/issues/250">Issue #250</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/918/">Bug #918</a>.
</li>
<li>
JavaScript: Recognize initial #! 'shebang' line as a comment in standalone files.
<a href="https://github.com/ScintillaOrg/lexilla/issues/253">Issue #253</a>.
</li>
<li>
Lua: Fix non-ASCII identifiers joined with '.' or ':'.
<a href="https://github.com/ScintillaOrg/lexilla/issues/242">Issue #242</a>.
</li>
<li>
Lua: Fix folding for multi-line SCE_LUA_LITERALSTRING and SCE_LUA_COMMENT
when performed incrementally.
<a href="https://github.com/ScintillaOrg/lexilla/issues/247">Issue #247</a>.
</li>
<li>
PHP: Control whether PHP is enabled for XML and HTML with
lexer.xml.allow.php and lexer.html.allow.php.
<a href="https://github.com/ScintillaOrg/lexilla/issues/252">Issue #252</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla532.zip">Release 5.3.2</a>
</h3>
<ul>
<li>
Released 23 April 2024.
</li>
<li>
COBOL: Stop string literal continuing over line end.
<a href="https://github.com/ScintillaOrg/lexilla/issues/229">Issue #229</a>.
</li>
<li>
COBOL: Stop doc comment assigning different styles to \r and \n at line end.
<a href="https://github.com/ScintillaOrg/lexilla/issues/229">Issue #229</a>.
</li>
<li>
COBOL: Recognize keywords that start with 'V'.
<a href="https://github.com/ScintillaOrg/lexilla/issues/230">Issue #230</a>.
</li>
<li>
COBOL: Recognize comments after tag or that start with '/'.
<a href="https://github.com/ScintillaOrg/lexilla/issues/231">Issue #231</a>.
</li>
<li>
HTML: Implement substyles for tags, attributes, and identifiers
SCE_H_TAG, SCE_H_ATTRIBUTE, SCE_HJ_WORD, SCE_HJA_WORD, SCE_HB_WORD, SCE_HP_WORD, SCE_HPHP_WORD.
</li>
<li>
HTML: Implement context-sensitive attributes. "tag.attribute" matches "attribute" only inside "tag".
</li>
<li>
HTML: Match standard handling of comments.
<a href="https://github.com/ScintillaOrg/lexilla/issues/232">Issue #232</a>.
</li>
<li>
Lua: Implement substyles for identifiers SCE_LUA_IDENTIFIER.
</li>
<li>
Ruby: Allow non-ASCII here-doc delimiters.
<a href="https://github.com/ScintillaOrg/lexilla/issues/234">Issue #234</a>.
</li>
<li>
Ruby: Allow modifier if, unless, while and until after heredoc delimiter.
<a href="https://github.com/ScintillaOrg/lexilla/issues/236">Issue #236</a>.
</li>
<li>
Rust: Recognize raw identifiers.
<a href="https://github.com/ScintillaOrg/lexilla/issues/239">Issue #239</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/240">Pull request #240</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla531.zip">Release 5.3.1</a>
</h3>
<ul>
<li>
Released 5 March 2024.
</li>
<li>
Assembler: After comments, treat \r\n line ends the same as \n. This makes testing easier.
</li>
<li>
Bash: Fix folding when line changed to/from comment and previous line is comment.
<a href="https://github.com/ScintillaOrg/lexilla/issues/224">Issue #224</a>.
</li>
<li>
Batch: Fix handling ':' next to keywords.
<a href="https://github.com/ScintillaOrg/lexilla/issues/222">Issue #222</a>.
</li>
<li>
JavaScript: in cpp lexer, add lexer.cpp.backquoted.strings=2 mode to treat ` back-quoted
strings as template literals which allow embedded ${expressions}.
<a href="https://github.com/ScintillaOrg/lexilla/issues/94">Issue #94</a>.
</li>
<li>
Python: fix lexing of rb'' and rf'' strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/223">Issue #223</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/227">Pull request #227</a>.
</li>
<li>
Ruby: fix lexing of methods on numeric literals like '3.times' so the '.' and method name do not appear in numeric style.
<a href="https://github.com/ScintillaOrg/lexilla/issues/225">Issue #225</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla530.zip">Release 5.3.0</a>
</h3>
<ul>
<li>
Released 27 December 2023.
</li>
<li>
Fix calling AddStaticLexerModule by defining as C++ instead of C which matches header.
<a href="https://sourceforge.net/p/scintilla/bugs/2421/">Bug #2421</a>.
</li>
<li>
Bash: Fix shift operator << incorrectly recognized as here-doc.
<a href="https://github.com/ScintillaOrg/lexilla/issues/215">Issue #215</a>.
</li>
<li>
Bash: Fix termination of '${' with first unquoted '}' instead of nesting.
<a href="https://github.com/ScintillaOrg/lexilla/issues/216">Issue #216</a>.
</li>
<li>
HTML: JavaScript double-quoted strings may escape line end with '\'.
<a href="https://github.com/ScintillaOrg/lexilla/issues/214">Issue #214</a>.
</li>
<li>
Lua: recognize --- doc comments.
Defined by <a href="https://github.com/lunarmodules/ldoc">LDoc</a>.
Does not recognize --[[-- doc comments which seem less common.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla529.zip">Release 5.2.9</a>
</h3>
<ul>
<li>
Released 18 November 2023.
</li>
<li>
Xcode build settings changed to avoid problems with Xcode 15.0.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla528.zip">Release 5.2.8</a>
</h3>
<ul>
<li>
Released 5 November 2023.
</li>
<li>
Python: Update f-string handling to match PEP 701 and Python 3.12.
Controlled with property lexer.python.strings.f.pep.701.
<a href="https://github.com/ScintillaOrg/lexilla/issues/150">Issue #150</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/209">Pull request #209</a>.
</li>
<li>
R: Fix escape sequence highlighting with change of for loop to while loop.
<a href="https://github.com/ScintillaOrg/lexilla/issues/206">Issue #206</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/207">Pull request #207</a>.
</li>
<li>
Minimum supported macOS release increased to 10.13.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla527.zip">Release 5.2.7</a>
</h3>
<ul>
<li>
Released 22 September 2023.
</li>
<li>
Fix building on Windows with non-English environment.
<a href="https://github.com/ScintillaOrg/lexilla/pull/200">Pull request #200</a>.
</li>
<li>
Bash: fix line continuation for comments and when multiple backslashes at line end.
<a href="https://github.com/ScintillaOrg/lexilla/issues/195">Issue #195</a>.
</li>
<li>
Bash: treat += as operator and, inside arithmetic expressions, treat ++ and -- as operators.
<a href="https://github.com/ScintillaOrg/lexilla/issues/197">Issue #197</a>.
</li>
<li>
Bash: improve backslash handling inside backquoted command substitution and fix $ at end of backtick expression.
<a href="https://github.com/ScintillaOrg/lexilla/issues/194">Issue #194</a>.
</li>
<li>
Bash: treat words that are similar to numbers but invalid wholly as identifiers.
<a href="https://github.com/ScintillaOrg/lexilla/issues/199">Issue #199</a>.
</li>
<li>
Bash: consistently handle '-' options at line start and after '|' as identifiers.
<a href="https://github.com/ScintillaOrg/lexilla/issues/202">Issue #202</a>.
</li>
<li>
Bash: handle '-' options differently in [ single ] and [[ double ]] bracket constructs.
<a href="https://github.com/ScintillaOrg/lexilla/issues/203">Issue #203</a>.
</li>
<li>
F#: improve speed of folding long lines.
<a href="https://github.com/ScintillaOrg/lexilla/issues/198">Issue #198</a>.
</li>
<li>
HTML: fix invalid entity at line end and terminate invalid entity before invalid character.
<a href="https://github.com/ScintillaOrg/lexilla/issues/192">Issue #192</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla526.zip">Release 5.2.6</a>
</h3>
<ul>
<li>
Released 26 July 2023.
</li>
<li>
Include empty word list names in value returned by DescribeWordListSets and SCI_DESCRIBEKEYWORDSETS.
<a href="https://github.com/ScintillaOrg/lexilla/issues/175">Issue #175</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/176">Pull request #176</a>.
</li>
<li>
Bash: style here-doc end delimiters as SCE_SH_HERE_DELIM instead of SCE_SH_HERE_Q.
<a href="https://github.com/ScintillaOrg/lexilla/issues/177">Issue #177</a>.
</li>
<li>
Bash: allow '$' as last character in string.
<a href="https://github.com/ScintillaOrg/lexilla/issues/180">Issue #180</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/181">Pull request #181</a>.
</li>
<li>
Bash: fix state after expansion. Highlight all numeric and file test operators.
Don't highlight dash in long option as operator.
<a href="https://github.com/ScintillaOrg/lexilla/issues/182">Issue #182</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/183">Pull request #183</a>.
</li>
<li>
Bash: strict checking of special parameters ($*, $@, $$, ...) with property lexer.bash.special.parameter to specify
valid parameters.
<a href="https://github.com/ScintillaOrg/lexilla/issues/184">Issue #184</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/186">Pull request #186</a>.
</li>
<li>
Bash: recognize keyword before redirection operators (< and >).
<a href="https://github.com/ScintillaOrg/lexilla/issues/188">Issue #188</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/189">Pull request #189</a>.
</li>
<li>
Errorlist: recognize Bash diagnostic messages.
</li>
<li>
HTML: allow ASP block to terminate inside line comment.
<a href="https://github.com/ScintillaOrg/lexilla/issues/185">Issue #185</a>.
</li>
<li>
HTML: fix folding with JSP/ASP.NET <%-- comment.
<a href="https://github.com/ScintillaOrg/lexilla/issues/191">Issue #191</a>.
</li>
<li>
HTML: fix incremental styling of multi-line ASP.NET directive.
<a href="https://github.com/ScintillaOrg/lexilla/issues/191">Issue #191</a>.
</li>
<li>
Matlab: improve arguments blocks.
Add support for multiple arguments blocks.
Prevent "arguments" from being keyword in function declaration line.
Fix semicolon handling.
<a href="https://github.com/ScintillaOrg/lexilla/pull/179">Pull request #179</a>.
</li>
<li>
Visual Prolog: add support for embedded syntax with SCE_VISUALPROLOG_EMBEDDED
and SCE_VISUALPROLOG_PLACEHOLDER.<br />
Styling of string literals changed with no differentiation between literals with quotes and those
that are prefixed with "@".
Quote characters are in a separate style (SCE_VISUALPROLOG_STRING_QUOTE)
to contents (SCE_VISUALPROLOG_STRING).<br />
SCE_VISUALPROLOG_CHARACTER, SCE_VISUALPROLOG_CHARACTER_TOO_MANY,
SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR, SCE_VISUALPROLOG_STRING_EOL_OPEN,
and SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL were removed (replaced with
SCE_VISUALPROLOG_UNUSED[1-5]).
<a href="https://github.com/ScintillaOrg/lexilla/pull/178">Pull request #178</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla525.zip">Release 5.2.5</a>
</h3>
<ul>
<li>
Released 31 May 2023.
</li>
<li>
Add CharacterSetArray constructor without setBase initial argument for common case
where this is setNone and the initialSet argument completely defines the characters.
This shortens and clarifies use of CharacterSetArray.
</li>
<li>
Bash: implement highlighting inside quoted elements and here-docs.
Controlled with properties lexer.bash.styling.inside.string, lexer.bash.styling.inside.backticks,
lexer.bash.styling.inside.parameter, and lexer.bash.styling.inside.heredoc.
<a href="https://github.com/ScintillaOrg/lexilla/issues/154">Issue #154</a>,
<a href="https://github.com/ScintillaOrg/lexilla/issues/153">Issue #153</a>,
<a href="https://sourceforge.net/p/scintilla/feature-requests/1033/">Feature #1033</a>.
</li>
<li>
Bash: add property lexer.bash.command.substitution to choose how to style command substitutions.
0 → SCE_SH_BACKTICKS;
1 → surrounding "$(" and ")" as operators and contents styled as bash code;
2 → use distinct styles (base style + 64) for contents.
Choice (2) is a provisional feature and details may change before it is finalized.
<a href="https://github.com/ScintillaOrg/lexilla/issues/153">Issue #153</a>.
</li>
<li>
Bash: fix nesting of parameters (SCE_SH_PARAM) like ${var/$sub/"${rep}}"}.
<a href="https://github.com/ScintillaOrg/lexilla/issues/154">Issue #154</a>.
</li>
<li>
Bash: fix single character special parameters like $? by limiting style.
<a href="https://github.com/ScintillaOrg/lexilla/issues/154">Issue #154</a>.
</li>
<li>
Bash: treat "$$" as special parameter and end scalars before "$".
<a href="https://github.com/ScintillaOrg/lexilla/issues/154">Issue #154</a>.
</li>
<li>
Bash: treat "<<" in arithmetic contexts as left bitwise shift operator instead of here-doc.
<a href="https://github.com/ScintillaOrg/lexilla/issues/137">Issue #137</a>.
</li>
<li>
Batch: style SCE_BAT_AFTER_LABEL used for rest of line after label which is not executed.
<a href="https://github.com/ScintillaOrg/lexilla/issues/148">Issue #148</a>.
</li>
<li>
F#: Lex interpolated verbatim strings as verbatim.
<a href="https://github.com/ScintillaOrg/lexilla/issues/156">Issue #156</a>.
</li>
<li>
VB: allow multiline strings when lexer.vb.strings.multiline set.
<a href="https://github.com/ScintillaOrg/lexilla/issues/151">Issue #151</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla524.zip">Release 5.2.4</a>
</h3>
<ul>
<li>
Released 13 March 2023.
</li>
<li>
C++: Fix failure to recognize keywords containing upper case.
<a href="https://github.com/ScintillaOrg/lexilla/issues/149">Issue #149</a>.
</li>
<li>
GDScript: Support % and $ node paths.
<a href="https://github.com/ScintillaOrg/lexilla/issues/145">Issue #145</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/146">Pull request #146</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla523.zip">Release 5.2.3</a>
</h3>
<ul>
<li>
Released 8 March 2023.
</li>
<li>
Add scripts/PromoteNew.bat script to promote .new files after checking.
</li>
<li>
Makefile: Remove 1024-byte line length limit..
</li>
<li>
Ruby: Add new lexical classes for % literals SCE_RB_STRING_W (%w non-interpolable string array),
SCE_RB_STRING_I (%i non-interpolable symbol array),
SCE_RB_STRING_QI (%I interpolable symbol array),
and SCE_RB_STRING_QS (%s symbol).
<a href="https://github.com/ScintillaOrg/lexilla/issues/124">Issue #124</a>.
</li>
<li>
Ruby: Disambiguate %= which may be a quote or modulo assignment.
<a href="https://github.com/ScintillaOrg/lexilla/issues/124">Issue #124</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/1255/">Bug #1255</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/2182/">Bug #2182</a>.
</li>
<li>
Ruby: Fix additional fold level for single character in SCE_RB_STRING_QW.
<a href="https://github.com/ScintillaOrg/lexilla/issues/132">Issue #132</a>.
</li>
<li>
Ruby: Set SCE_RB_HERE_QQ for unquoted and double-quoted heredocs and
SCE_RB_HERE_QX for backticks-quoted heredocs.
<a href="https://github.com/ScintillaOrg/lexilla/issues/134">Issue #134</a>.
</li>
<li>
Ruby: Recognise #{} inside SCE_RB_HERE_QQ and SCE_RB_HERE_QX.
<a href="https://github.com/ScintillaOrg/lexilla/issues/134">Issue #134</a>.
</li>
<li>
Ruby: Improve regex and heredoc recognition.
<a href="https://github.com/ScintillaOrg/lexilla/issues/136">Issue #136</a>.
</li>
<li>
Ruby: Highlight #@, #@@ and #$ style interpolation.
<a href="https://github.com/ScintillaOrg/lexilla/issues/140">Issue #140</a>.
</li>
<li>
Ruby: Fix folding for multiple heredocs started on one line.
Fix folding when there is a space after heredoc opening delimiter.
<a href="https://github.com/ScintillaOrg/lexilla/issues/135">Issue #135</a>.
</li>
<li>
YAML: Remove 1024-byte line length limit.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla522.zip">Release 5.2.2</a>
</h3>
<ul>
<li>
Released 8 February 2023.
</li>
<li>
C++: Fix keywords that start with non-ASCII. Also affects other lexers.
<a href="https://github.com/ScintillaOrg/lexilla/issues/130">Issue #130</a>.
</li>
<li>
Matlab: Include more prefix and suffix characters in numeric literals.
<a href="https://github.com/ScintillaOrg/lexilla/issues/120">Issue #120</a>.
</li>
<li>
Matlab: More accurate treatment of line ends inside strings. Matlab and Octave are different here.
<a href="https://github.com/ScintillaOrg/lexilla/issues/18">Issue #18</a>.
</li>
<li>
Modula-3: Don't treat identifier suffix that matches keyword as keyword.
<a href="https://github.com/ScintillaOrg/lexilla/issues/129">Issue #129</a>.
</li>
<li>
Modula-3: Fix endless loop in folder.
<a href="https://github.com/ScintillaOrg/lexilla/issues/128">Issue #128</a>.
</li>
<li>
Modula-3: Fix access to lines beyond document end in folder.
<a href="https://github.com/ScintillaOrg/lexilla/issues/131">Issue #131</a>.
</li>
<li>
Python: Don't highlight match and case as keywords in contexts where they probably aren't used as keywords.
<a href="https://github.com/ScintillaOrg/lexilla/pull/122">Pull request #122</a>.
</li>
<li>
X12: Support empty envelopes.
<a href="https://sourceforge.net/p/scintilla/bugs/2369/">Bug #2369</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla521.zip">Release 5.2.1</a>
</h3>
<ul>
<li>
Released 6 December 2022.
</li>
<li>
Update to Unicode 14.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1461/">Feature #1461</a>.
</li>
<li>
Change default compilation optimization option to favour speed over space.
-O2 for MSVC and -O3 for gcc and clang.
</li>
<li>
Batch: Fix comments starting inside strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/115">Issue #115</a>.
</li>
<li>
F#: Lex signed numeric literals more accurately.
<a href="https://github.com/ScintillaOrg/lexilla/issues/110">Issue #110</a>,
<a href="https://github.com/ScintillaOrg/lexilla/issues/111">Issue #111</a>.
</li>
<li>
F#: Add specifiers for 64-bit integer and floating point literals.
<a href="https://github.com/ScintillaOrg/lexilla/issues/112">Issue #112</a>.
</li>
<li>
Markdown: Stop styling numbers at line start in PRECHAR style.
<a href="https://github.com/ScintillaOrg/lexilla/issues/117">Issue #117</a>.
</li>
<li>
PowerShell: Recognise numeric literals more accurately.
<a href="https://github.com/ScintillaOrg/lexilla/issues/118">Issue #118</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla520.zip">Release 5.2.0</a>
</h3>
<ul>
<li>
Released 12 October 2022.
</li>
<li>
PowerShell: End comment before \r carriage return so \r and \n in same
SCE_POWERSHELL_DEFAULT style.
<a href="https://github.com/ScintillaOrg/lexilla/pull/99">Pull request #99</a>.
</li>
<li>
PowerShell: Fix character truncation bug that lead to 'ġ' styled as an operator since its low 8 bits
are equal to '!'.
</li>
<li>
R: Support hexadecimal, float exponent and number suffix.
<a href="https://github.com/ScintillaOrg/lexilla/issues/101">Issue #101</a>.
</li>
<li>
R: Highlight backticks.
<a href="https://github.com/ScintillaOrg/lexilla/pull/102">Pull request #102</a>.
</li>
<li>
R: Highlight raw strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/100">Issue #100</a>.
</li>
<li>
R: Optionally highlight escape sequences in strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/100">Issue #100</a>.
</li>
<li>
Fix early truncation from LexAccessor::GetRange and LexAccessor::GetRangeLowered.
<a href="https://github.com/ScintillaOrg/lexilla/issues/17">Issue #17</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla519.zip">Release 5.1.9</a>
</h3>
<ul>
<li>
Released 27 August 2022.
</li>
<li>
Julia: Parse unicode forall and exists as identifiers #42314.
<a href="https://github.com/ScintillaOrg/lexilla/pull/98">Pull request #98</a>.
</li>
<li>
Julia: Parse apostrophe as char and not adjoint after exclamation.
<a href="https://github.com/ScintillaOrg/lexilla/issues/97">Issue #97</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/98">Pull request #98</a>.
</li>
<li>
Properties: Don't set header flag for empty section.
<a href="https://github.com/ScintillaOrg/lexilla/issues/96">Issue #96</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla518.zip">Release 5.1.8</a>
</h3>
<ul>
<li>
Released 10 July 2022.
</li>
<li>
F#: Recognize nested comments in F#.
<a href="https://github.com/ScintillaOrg/lexilla/issues/93">Issue #93</a>.
</li>
<li>
MS SQL: Recognize nested comments in Transact-SQL.
<a href="https://github.com/ScintillaOrg/lexilla/issues/87">Issue #87</a>.
</li>
<li>
MS SQL: Preference data types more consistently to not depend on how lexing is broken
up into segments. This is needed because there are keywords that are both data type
names and function names such as 'CHAR'.
<a href="https://github.com/ScintillaOrg/lexilla/issues/90">Issue #90</a>.
</li>
<li>
PowerShell: Fix single quoted strings to not treat backtick as escape.
<a href="https://github.com/ScintillaOrg/lexilla/pull/92">Pull request #92</a>.
</li>
<li>
Visual Prolog: Treat \r\n line ends the same as \n. This makes testing easier.
Add test case.
<a href="https://github.com/ScintillaOrg/lexilla/issues/83">Issue #83</a>.
</li>
<li>
Visual Prolog: Allow disabling verbatim strings.
<a href="https://github.com/ScintillaOrg/lexilla/pull/89">Pull request #89</a>.
</li>
<li>
Visual Prolog: Support backquoted strings.
<a href="https://github.com/ScintillaOrg/lexilla/pull/89">Pull request #89</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla517.zip">Release 5.1.7</a>
</h3>
<ul>
<li>
Released 22 May 2022.
</li>
<li>
Add LexAccessor::StyleIndexAt to retrieve style values as unsigned to handle styles > 127 better.
<a href="https://github.com/ScintillaOrg/lexilla/issues/61">Issue #61</a>.
</li>
<li>
Associate more than one file extension with a setting for testing.
<a href="https://github.com/ScintillaOrg/lexilla/issues/81">Issue #81</a>.
</li>
<li>
CMake: Fix folding of "ElseIf".
<a href="https://github.com/ScintillaOrg/lexilla/issues/77">Issue #77</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/78">Pull request #78</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/2213/">Bug #2213</a>.
</li>
<li>
HTML: Fix folding of JavaScript doc comments.
<a href="https://sourceforge.net/p/scintilla/bugs/2219/">Bug #2219</a>.
</li>
<li>
Matlab: add "classdef" and "spmd" to folding keywords.
<a href="https://github.com/ScintillaOrg/lexilla/pull/70">Pull request #70</a>.
</li>
<li>
Matlab: handle "arguments" contextual keyword.
<a href="https://github.com/ScintillaOrg/lexilla/pull/70">Pull request #70</a>.
</li>
<li>
Matlab: improve support of class definition syntax.
<a href="https://github.com/ScintillaOrg/lexilla/pull/75">Pull request #75</a>.
</li>
<li>
Raku: fix escape detection.
<a href="https://github.com/ScintillaOrg/lexilla/pull/76">Pull request #76</a>.
</li>
<li>
Ruby: fix character sequence "?\\#" to not include '#' in SCE_RB_NUMBER as only second '\' is quoted.
<a href="https://github.com/ScintillaOrg/lexilla/issues/69">Issue #69</a>.
</li>
<li>
Ruby: improve styling of ternary expressions as commonly used.
<a href="https://github.com/ScintillaOrg/lexilla/issues/69">Issue #69</a>.
</li>
<li>
VHDL: support folding for VHDL 08 else-generate and case-generate.
<a href="https://github.com/ScintillaOrg/lexilla/pull/80">Pull request #80</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla516.zip">Release 5.1.6</a>
</h3>
<ul>
<li>
Released 31 March 2022.
</li>
<li>
Implement conditional statements "if" and "match", comparison function "$(=", and "FileNameExt"
property in TestLexers to allow varying lexer properties over different files.
<a href="https://github.com/ScintillaOrg/lexilla/issues/62">Issue #62</a>.
</li>
<li>
Add LexAccessor::BufferStyleAt to retrieve style values to simplify logic and
improve performance.
<a href="https://github.com/ScintillaOrg/lexilla/issues/54">Issue #54</a>.
</li>
<li>
Markdown: Optionally style all of Markdown header lines.
Enabled with lexer.markdown.header.eolfill=1.
<a href="https://github.com/ScintillaOrg/lexilla/issues/60">Issue #60</a>.
</li>
<li>
Ruby: Fix operator method styling so next word not treated as method name.
<a href="https://github.com/ScintillaOrg/lexilla/issues/65">Issue #65</a>.
</li>
<li>
Ruby: Fix folding for Ruby 3 endless method definition.
<a href="https://github.com/ScintillaOrg/lexilla/issues/65">Issue #65</a>.
</li>
<li>
Ruby: Fold string array SCE_RB_STRING_QW.
<a href="https://github.com/ScintillaOrg/lexilla/issues/65">Issue #65</a>.
</li>
<li>
Ruby: Fix final \n in indented heredoc to be SCE_RB_HERE_Q.
<a href="https://github.com/ScintillaOrg/lexilla/issues/66">Issue #66</a>.
</li>
<li>
Ruby: Fix heredoc recognition when '.' and ',' used in method calls and after SCE_RB_GLOBAL.
Classify word after heredoc delimiter instead of styling as keyword.
<a href="https://github.com/ScintillaOrg/lexilla/issues/67">Issue #67</a>.
</li>
<li>
Ruby: Improve method highlighting so method name is styled as SCE_RB_DEFNAME and class/object
is styled appropriately.
<a href="https://github.com/ScintillaOrg/lexilla/issues/68">Issue #68</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla515.zip">Release 5.1.5</a>
</h3>
<ul>
<li>
Released 9 February 2022.
</li>
<li>
Bash: Treat \r\n line ends the same as \n. This makes testing easier.
<a href="https://github.com/ScintillaOrg/lexilla/issues/57">Issue #57</a>.
</li>
<li>
Batch: Recognise "::" comments when second command on line.
<a href="https://sourceforge.net/p/scintilla/bugs/2304/">Bug #2304</a>.
</li>
<li>
F#: Recognise format specifiers in interpolated strings and %B for binary.
<a href="https://github.com/ScintillaOrg/lexilla/issues/46">Issue #46</a>.
</li>
<li>
F#: More accurate line-based folding.
<a href="https://github.com/ScintillaOrg/lexilla/issues/56">Issue #56</a>.
</li>
<li>
HTML: Fix folding inside script blocks.
<a href="https://github.com/ScintillaOrg/lexilla/issues/47">Issue #47</a>,
<a href="https://github.com/ScintillaOrg/lexilla/issues/53">Issue #53</a>.
</li>
<li>
Inno Setup: Fix multiline comments in code.
<a href="https://github.com/ScintillaOrg/lexilla/issues/44">Issue #44</a>.
</li>
<li>
Python: Add attribute style with properties lexer.python.identifier.attributes and
lexer.python.decorator.attributes.
<a href="https://github.com/ScintillaOrg/lexilla/pull/49">Pull request #49</a>.
</li>
<li>
Allow choice of object file directory with makefile by setting DIR_O.
<a href="https://github.com/ScintillaOrg/lexilla/issues/50">Issue #50</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla514.zip">Release 5.1.4</a>
</h3>
<ul>
<li>
Released 7 December 2021.
</li>
<li>
Add AsciiDoc lexer.
<a href="https://github.com/ScintillaOrg/lexilla/pull/39">Pull request #39</a>.
</li>
<li>
Add GDScript lexer.
Some behaviour and lexical states may change before this lexer is stable.
<a href="https://github.com/ScintillaOrg/lexilla/pull/41">Pull request #41</a>.
</li>
<li>
Fix strings ending in escaped '\' in F#.
<a href="https://github.com/ScintillaOrg/lexilla/issues/38">Issue #38</a>.
</li>
<li>
Better handling of bad terminators and folding for X12.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1420/">Feature #1420</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla513.zip">Release 5.1.3</a>
</h3>
<ul>
<li>
Released 8 November 2021.
</li>
<li>
Fix parsing of 128-bit integer literals in Rust.
<a href="https://github.com/ScintillaOrg/lexilla/issues/33">Issue #33</a>.
</li>
<li>
Fix different styles between \r and \n at end of line comments for Rust.
<a href="https://github.com/ScintillaOrg/lexilla/issues/34">Issue #34</a>.
</li>
<li>
For Rust, don't go past end when file ends with unterminated block comment.
<a href="https://github.com/ScintillaOrg/lexilla/issues/35">Issue #35</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla512.zip">Release 5.1.2</a>
</h3>
<ul>
<li>
Released 23 September 2021.
</li>
<li>
Implement conditional group rules in CSS.
<a href="https://github.com/ScintillaOrg/lexilla/issues/25">Issue #25</a>,
<a href="https://github.com/ScintillaOrg/lexilla/pull/28">Pull request #28</a>.
</li>
<li>
Allow F# triple-quoted strings to interpolate string literals.
<a href="https://github.com/ScintillaOrg/lexilla/issues/21">Issue #21</a>.
</li>
<li>
Highlight F# printf specifiers in type-checked interpolated strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/24">Issue #24</a>.
</li>
<li>
Fix styling for Inno Setup scripts handling unterminated strings,
message sections, and avoid terminating comments between CR and LF.
<a href="https://github.com/ScintillaOrg/lexilla/pull/29">Pull request #29</a>.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1415/">Feature #1415</a>.
</li>
<li>
Fix Markdown hang when document ends with "`", "*", "_", or similar.
<a href="https://github.com/ScintillaOrg/lexilla/issues/23">Issue #23</a>.
</li>
<li>
Treat '.' as an operator instead of part of a word for PHP.
<a href="https://github.com/ScintillaOrg/lexilla/issues/22">Issue #22</a>.
<a href="https://sourceforge.net/p/scintilla/bugs/2225/">Bug #2225</a>.
</li>
<li>
Check PHP numeric literals, showing invalid values with default style instead of numeric.
<a href="https://github.com/ScintillaOrg/lexilla/issues/20">Issue #20</a>.
</li>
<li>
For PHP, recognize start of comment after numeric literal.
<a href="https://github.com/ScintillaOrg/lexilla/issues/20">Issue #20</a>.
<a href="https://sourceforge.net/p/scintilla/bugs/2143/">Bug #2143</a>.
</li>
<li>
For PHP, recognize PHP code within JavaScript strings.
<a href="https://github.com/ScintillaOrg/lexilla/pull/27">Pull request #27</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla511.zip">Release 5.1.1</a>
</h3>
<ul>
<li>
Released 26 July 2021.
</li>
<li>
On 32-bit Win32 using Visual C++ projects, stop exported functions ending with @n causing failures with GetProcAddress.
</li>
<li>
Fixed crash when calling TagsOfStyle on C++ lexer after allocating substyles.
</li>
<li>
Fixed folding for Julia which could be inconsistent depending on range folded.
Added SCE_JULIA_KEYWORD4 and SCE_JULIA_TYPEOPERATOR lexical styles and
changed keyword set 4 from "Raw string literals" to "Built in functions".
Property lexer.julia.string.interpolation removed.
Updated set of characters for identifiers.
<a href="https://github.com/ScintillaOrg/lexilla/pull/13">Pull request #13</a>.
</li>
<li>
Fixed Markdown emphasis spans to only be recognized when closed in same paragraph.
<a href="https://sourceforge.net/p/scintilla/bugs/1216/">Bug #1216</a>.
</li>
<li>
Fixed Markdown code block to terminate when end marker is indented.
Display all of end marker in code block style.
Only recognize inline code when closed in same paragraph.
<a href="https://sourceforge.net/p/scintilla/bugs/2247/">Bug #2247</a>.
</li>
<li>
Fixed Matlab to not allow escape sequences in double-quoted strings.
<a href="https://github.com/ScintillaOrg/lexilla/issues/18">Issue #18</a>.
</li>
<li>
Support flexible heredoc and nowdoc syntax for PHP.
<a href="https://github.com/ScintillaOrg/lexilla/issues/19">Issue #19</a>.
</li>
<li>
Enabled '_' digit separator in numbers for PHP.
<a href="https://github.com/ScintillaOrg/lexilla/issues/19">Issue #19</a>.
</li>
<li>
Stop styling attributes as comments for PHP.
<a href="https://github.com/ScintillaOrg/lexilla/issues/19">Issue #19</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla510.zip">Release 5.1.0</a>
</h3>
<ul>
<li>
Released 23 June 2021.
</li>
<li>
This is a stable release. The Lexilla protocol should remain compatible through 5.x releases.
</li>
<li>
Fixed bugs with styling Erlang by handling \n and \r\n line endings consistently.
</li>
<li>
Fixed folding for F# open statements and for strings that contain comment prefixes.
</li>
<li>
Format specifiers lexed in F# strings.
</li>
<li>
Fixed folding for ASP files where scripts were treated inconsistently when '<%' was included
or not included in range examined.
</li>
<li>
Fixed folding of Raku heredocs that start with "q:to" or "qq:to".
</li>
<li>
Fixed folding at end of Ruby files where these is no final new line.
</li>
<li>
Made folding of Tcl files more consistent by always treating completely empty lines as whitespace.
</li>
<li>
Fixed styling of "a:b" with no spaces in YAML as a single piece of text instead of a key-value pair.
<a href="https://github.com/ScintillaOrg/lexilla/pull/15">Pull request #15</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla503.zip">Release 5.0.3</a>
</h3>
<ul>
<li>
Released 2 June 2021.
</li>
<li>
Add namespace feature with GetNameSpace function.
</li>
<li>
Add Julia lexer.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1380/">Feature #1380</a>.
</li>
<li>
Fix transition to comment for --> inside JavaScript string.
<a href="https://sourceforge.net/p/scintilla/bugs/2207/">Bug #2207</a>.
</li>
<li>
Fix variable expansion in Batch.
<a href="https://github.com/ScintillaOrg/lexilla/issues/4">Issue #4</a>.
</li>
<li>
Fix empty link titles in Markdown.
<a href="https://sourceforge.net/p/scintilla/bugs/2235/">Bug #2235</a>.
Also fix detection of whether the previous line had content which treated '\n' and '\r\n' line endings differently.
</li>
<li>
Remove nested comment and long string support as these were removed from Lua.
<a href="https://sourceforge.net/p/scintilla/bugs/2205/">Bug #2205</a>.
</li>
<li>
Update to Unicode 13.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1379/">Feature #1379</a>.
</li>
<li>
AddStaticLexerModule function adds a static lexer to Lexilla's list.
</li>
<li>
On Win32 enable hardware-enforced stack protection.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1405/">Feature #1405</a>.
</li>
<li>
On 32-bit Win32 using g++, stop exported functions ending with @n causing failures with GetProcAddress.
<a href="https://github.com/ScintillaOrg/lexilla/issues/10">Issue #10</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla502.zip">Release 5.0.2</a>
</h3>
<ul>
<li>
Released 23 April 2021.
</li>
<li>
Fix assertion in cpp lexer handling of preprocessor.
Empty preprocessor statement '#' caused preprocessor history to be stored on incorrect line number.
Dangling #else or #elif without corresponding #if led to inconsistent state.
Change treatment of empty preprocessor statement to set subsequent line end characters in
preprocessor style as this is more consistent with other preprocessor directives and avoids
differences between \n and \r\n line ends.
<a href="https://sourceforge.net/p/scintilla/bugs/2245/">Bug #2245</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla501.zip">Release 5.0.1</a>
</h3>
<ul>
<li>
Released 9 April 2021.
</li>
<li>
Add LexerNameFromID function to Lexilla protocol as optional and temporary to
help applications migrate to Lexilla.
It is marked deprecated and will be removed in a future release.
</li>
<li>
The cpp lexer supports XML styled comment doc keywords.
<a href="https://github.com/ScintillaOrg/lexilla/pull/2">Pull request #2</a>.
</li>
<li>
The errorlist lexer detects NMAKE fatal errors and Microsoft linker errors as SCE_ERR_MS.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/lexilla500.zip">Release 5.0.0</a>
</h3>
<ul>
<li>
Released 5 March 2021.
</li>
<li>
First version that separates Lexilla from Scintilla.
Each of the 3 projects now has a separate history page but history before 5.0.0 remains combined.
</li>
<li>
Lexer added for F#.
</li>
</ul>
<h3>
Lexilla became a separate project at this point.
</h3>
<h3>
<a href="https://www.scintilla.org/scite446.zip">Release 4.4.6</a>
</h3>
<ul>
<li>
Released 1 December 2020.
</li>
<li>
Fix building with Xcode 12.
<a href="https://sourceforge.net/p/scintilla/bugs/2187/">Bug #2187</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite445.zip">Release 4.4.5</a>
</h3>
<ul>
<li>
Released 11 September 2020.
</li>
<li>
Lexilla interface supports setting initialisation properties on lexer libraries with
SetLibraryProperty and GetLibraryPropertyNames functions.
These are called by SciTE which will forward properties to lexer libraries that are prefixed with
"lexilla.context.".
</li>
<li>
Allow cross-building for GTK by choosing pkg-config.
<a href="https://sourceforge.net/p/scintilla/bugs/2189/">Bug #2189</a>.
</li>
<li>
On GTK, allow setting CPPFLAGS (and LDFLAGS for SciTE) to support hardening.
<a href="https://sourceforge.net/p/scintilla/bugs/2191/">Bug #2191</a>.
</li>
<li>
Changed SciTE's indent.auto mode to set tab size to indent size when file uses tabs for indentation.
<a href="https://sourceforge.net/p/scintilla/bugs/2198/">Bug #2198</a>.
</li>
<li>
Fix position of marker symbols for SC_MARGIN_RTEXT which were being moved based on
width of text.
</li>
<li>
Fixed bug on Win32 where cursor was flickering between hand and text over an
indicator with hover style.
<a href="https://sourceforge.net/p/scintilla/bugs/2170/">Bug #2170</a>.
</li>
<li>
Fixed bug where hovered indicator was not returning to non-hover
appearance when mouse moved out of window or into margin.
<a href="https://sourceforge.net/p/scintilla/bugs/2193/">Bug #2193</a>.
</li>
<li>
Fixed bug where a hovered INDIC_TEXTFORE indicator was not applying the hover
colour to the whole range.
<a href="https://sourceforge.net/p/scintilla/bugs/2199/">Bug #2199</a>.
</li>
<li>
Fixed bug where gradient indicators were not showing hovered appearance.
</li>
<li>
Fixed bug where layout caching was ineffective.
<a href="https://sourceforge.net/p/scintilla/bugs/2197/">Bug #2197</a>.
</li>
<li>
For SciTE, don't show the output pane for quiet jobs.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1365/">Feature #1365</a>.
</li>
<li>
Support command.quiet for SciTE on GTK.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1365/">Feature #1365</a>.
</li>
<li>
Fixed a bug in SciTE with stack balance when a syntax error in the Lua startup script
caused continuing failures to find functions after the syntax error was corrected.
<a href="https://sourceforge.net/p/scintilla/bugs/2176/">Bug #2176</a>.
</li>
<li>
Added method for iterating through multiple vertical edges: SCI_GETMULTIEDGECOLUMN.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1350/">Feature #1350</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite444.zip">Release 4.4.4</a>
</h3>
<ul>
<li>
Released 21 July 2020.
</li>
<li>
End of line annotations implemented.
<a href="https://sourceforge.net/p/scintilla/bugs/2141/">Bug #2141</a>.
</li>
<li>
Add SCI_BRACEMATCHNEXT API.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1368/">Feature #1368</a>.
</li>
<li>
The latex lexer supports lstlisting environment that is similar to verbatim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1358/">Feature #1358</a>.
</li>
<li>
For SciTE on Linux, place liblexilla.so and libscintilla.so in /usr/lib/scite.
<a href="https://sourceforge.net/p/scintilla/bugs/2184/">Bug #2184</a>.
</li>
<li>
Round SCI_TEXTWIDTH instead of truncating as this may be more accurate when sizing application
elements to match text.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1355/">Feature #1355</a>.
</li>
<li>
Display DEL control character as visible "DEL" block like other control characters.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1369/">Feature #1369</a>.
</li>
<li>
Allow caret width to be up to 20 pixels.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1361/">Feature #1361</a>.
</li>
<li>
SciTE on Windows adds create.hidden.console option to stop console window flashing
when Lua script calls os.execute or io.popen.
</li>
<li>
Fix translucent rectangle drawing on Qt. When drawing a translucent selection, there were edge
artifacts as the calls used were drawing outlines over fill areas. Make bottom and right borders on
INDIC_ROUNDBOX be same intensity as top and left.
Replaced some deprecated Qt calls with currently supported calls.
</li>
<li>
Fix printing on Windows to use correct text size.
<a href="https://sourceforge.net/p/scintilla/bugs/2185/">Bug #2185</a>.
</li>
<li>
Fix bug on Win32 where calling WM_GETTEXT for more text than in document could return
less text than in document.
</li>
<li>
Fixed a bug in SciTE with Lua stack balance causing failure to find
functions after reloading script.
<a href="https://sourceforge.net/p/scintilla/bugs/2176/">Bug #2176</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite443.zip">Release 4.4.3</a>
</h3>
<ul>
<li>
Released 3 June 2020.
</li>
<li>
Fix syntax highlighting for SciTE on Windows by setting executable directory for loading Lexilla.
<a href="https://sourceforge.net/p/scintilla/bugs/2181/">Bug #2181</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite442.zip">Release 4.4.2</a>
</h3>
<ul>
<li>
Released 2 June 2020.
</li>
<li>
On Cocoa using Xcode changed Lexilla.dylib install path to @rpath as would otherwise try /usr/lib which
won't work for sandboxed applications.
</li>
<li>
On Cocoa using Xcode made work on old versions of macOS by specifying deployment target as 10.8
instead of 10.15.
</li>
<li>
On Win32 fix static linking of Lexilla by specifying calling convention in Lexilla.h.
</li>
<li>
SciTE now uses default shared library extension even when directory contains '.'.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite440.zip">Release 4.4.0</a>
</h3>
<ul>
<li>
Released 1 June 2020.
</li>
<li>
Added Xcode project files for Lexilla and Scintilla with no lexers (cocoa/Scintilla).
</li>
<li>
For GTK, build a shared library with no lexers libscintilla.so or libscintilla.dll.
</li>
<li>
Lexilla used as a shared library for most builds of SciTE except for the single file executable on Win32.
On GTK, Scintilla shared library used.
LexillaLibrary code can be copied out of SciTE for other applications that want to interface to Lexilla.
</li>
<li>
Constants in Scintilla.h can be disabled with SCI_DISABLE_AUTOGENERATED.
</li>
<li>
Implement per-monitor DPI Awareness on Win32 so both Scintilla and SciTE
will adapt to the display scale when moved between monitors.
Applications should forward WM_DPICHANGED to Scintilla.
<a href="https://sourceforge.net/p/scintilla/bugs/2171/">Bug #2171</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/2063/">Bug #2063</a>.
</li>
<li>
Optimized performance when opening huge files.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1347/">Feature #1347</a>.
</li>
<li>
Add Appearance and Contrast properties to SciTE that allow customising visuals for dark mode and
high contrast modes.
</li>
<li>
Fixed bug in Batch lexer where a single character line with a single character line end continued
state onto the next line.
</li>
<li>
Added SCE_ERR_GCC_EXCERPT style for GCC 9 diagnostics in errorlist lexer.
</li>
<li>
Fixed buffer over-read bug with absolute references in MMIXAL lexer.
<a href="https://sourceforge.net/p/scintilla/bugs/2019/">Bug #2019</a>.
</li>
<li>
Fixed bug with GTK on recent Linux distributions where underscores were invisible.
<a href="https://sourceforge.net/p/scintilla/bugs/2173/">Bug #2173</a>.
</li>
<li>
Fixed GTK on Linux bug when pasting from closed application.
<a href="https://sourceforge.net/p/scintilla/bugs/2175/">Bug #2175</a>.
</li>
<li>
Fixed bug in SciTE with Lua stack balance.
<a href="https://sourceforge.net/p/scintilla/bugs/2176/">Bug #2176</a>.
</li>
<li>
For macOS, SciTE reverts to running python (2) due to python3 not being available in the sandbox.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite433.zip">Release 4.3.3</a>
</h3>
<ul>
<li>
Released 27 April 2020.
</li>
<li>
Added Visual Studio project files for Lexilla and Scintilla with no lexers.
</li>
<li>
Add methods for iterating through the marker handles and marker numbers on a line:
SCI_MARKERHANDLEFROMLINE and SCI_MARKERNUMBERFROMLINE.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1344/">Feature #1344</a>.
</li>
<li>
Assembler lexers asm and as can change comment character with lexer.as.comment.character property.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1314/">Feature #1314</a>.
</li>
<li>
Fix brace styling in Batch lexer so that brace matching works.
<a href="https://sourceforge.net/p/scintilla/bugs/1624/">Bug #1624</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/1906/">Bug #1906</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/1997/">Bug #1997</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/2065/">Bug #2065</a>.
</li>
<li>
Change Perl lexer to style all line ends of comment lines in comment line style.
Previously, the last character was in default style which made the characters in
\r\n line ends have mismatching styles.
<a href="https://sourceforge.net/p/scintilla/bugs/2164/">Bug #2164</a>.
</li>
<li>
When a lexer has been set with SCI_SETILEXER, fix SCI_GETLEXER and avoid
sending SCN_STYLENEEDED notifications.
</li>
<li>
On Win32 fix handling Japanese IME input when both GCS_COMPSTR and
GCS_RESULTSTR set.
</li>
<li>
With Qt on Win32 add support for line copy format on clipboard, compatible with Visual Studio.
<a href="https://sourceforge.net/p/scintilla/bugs/2167/">Bug #2167</a>.
</li>
<li>
On Qt with default encoding (ISO 8859-1) fix bug where 'µ' (Micro Sign) case-insensitively matches '?'
<a href="https://sourceforge.net/p/scintilla/bugs/2168/">Bug #2168</a>.
</li>
<li>
On GTK with Wayland fix display of windowed IME.
<a href="https://sourceforge.net/p/scintilla/bugs/2149/">Bug #2149</a>.
</li>
<li>
For Python programs, SciTE defaults to running python3 on Unix and pyw on Windows which will run
the most recently installed Python in many cases.
Set the "python.command" property to override this.
Scripts distributed with Scintilla and SciTE are checked with Python 3 and may not work with Python 2.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite432.zip">Release 4.3.2</a>
</h3>
<ul>
<li>
Released 6 March 2020.
</li>
<li>
On Win32 fix new bug that treated all dropped text as rectangular.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite431.zip">Release 4.3.1</a>
</h3>
<ul>
<li>
Released 4 March 2020.
</li>
<li>
Add default argument for StyleContext::GetRelative.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1336/">Feature #1336</a>.
</li>
<li>
Fix drag and drop between different encodings on Win32 by always providing CF_UNICODETEXT only.
<a href="https://sourceforge.net/p/scintilla/bugs/2151/">Bug #2151</a>.
</li>
<li>
Automatically scroll while dragging text.
<a href="https://sourceforge.net/p/scintilla/feature-requests/497/">Feature #497</a>.
</li>
<li>
On Win32, the numeric keypad with Alt pressed can be used to enter characters by number.
This can produce unexpected results in non-numlock mode when function keys are assigned.
Potentially problematic keys like Alt+KeypadUp are now ignored.
<a href="https://sourceforge.net/p/scintilla/bugs/2152/">Bug #2152</a>.
</li>
<li>
Crash fixed with Direct2D on Win32 when updating driver.
<a href="https://sourceforge.net/p/scintilla/bugs/2138/">Bug #2138</a>.
</li>
<li>
For SciTE on Win32, fix crashes when Lua script closes application.
<a href="https://sourceforge.net/p/scintilla/bugs/2155/">Bug #2155</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite430.zip">Release 4.3.0</a>
</h3>
<ul>
<li>
Released 16 January 2020.
</li>
<li>
Lexers made available as Lexilla library.
TestLexers program with tests for Lexilla and lexers added in lexilla/test.
</li>
<li>
SCI_SETILEXER implemented to use lexers from Lexilla or other sources.
</li>
<li>
ILexer5 interface defined provisionally to support use of Lexilla.
The details of this interface may change before being stabilised in Scintilla 5.0.
</li>
<li>
SCI_LOADLEXERLIBRARY implemented on Cocoa.
</li>
<li>
Build Scintilla with SCI_EMPTYCATALOGUE to avoid making lexers available.
</li>
<li>
Lexer and folder added for Raku language.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1328/">Feature #1328</a>.
</li>
<li>
Don't clear clipboard before copying text with Qt.
<a href="https://sourceforge.net/p/scintilla/bugs/2147/">Bug #2147</a>.
</li>
<li>
On Win32, remove support for CF_TEXT clipboard format as Windows will convert to
CF_UNICODETEXT.
</li>
<li>
Improve IME behaviour on GTK.
Set candidate position for windowed IME.
Improve location of candidate window.
Prevent movement of candidate window while typing.
<a href="https://sourceforge.net/p/scintilla/bugs/2135/">Bug #2135</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite423.zip">Release 4.2.3</a>
</h3>
<ul>
<li>
Released 11 December 2019.
</li>
<li>
Fix failure in SciTE's Complete Symbol command.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite422.zip">Release 4.2.2</a>
</h3>
<ul>
<li>
Released 7 December 2019.
</li>
<li>
Move rather than grow selection when insertion at start.
<a href="https://sourceforge.net/p/scintilla/bugs/2140/">Bug #2140</a>.
</li>
<li>
Allow target to have virtual space.
Add methods for finding the virtual space at start and end of multiple selections.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1316/">Feature #1316</a>.
</li>
<li>
SciTE on Win32 adds mouse button "Forward" and "Backward" key definitions for use in
properties like user.shortcuts.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1317/">Feature #1317</a>.
</li>
<li>
Lexer and folder added for Hollywood language.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1324/">Feature #1324</a>.
</li>
<li>
HTML lexer treats custom tags from HTML5 as known tags. These contain "-" like "custom-tag".
<a href="https://sourceforge.net/p/scintilla/feature-requests/1299/">Feature #1299</a>.
</li>
<li>
HTML lexer fixes bug with some non-alphabetic characters in unknown tags.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1320/">Feature #1320</a>.
</li>
<li>
Fix bug in properties file lexer where long lines were only styled for the first 1024 characters.
<a href="https://sourceforge.net/p/scintilla/bugs/1933/">Bug #1933</a>.
</li>
<li>
Ruby lexer recognizes squiggly heredocs.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1326/">Feature #1326</a>.
</li>
<li>
Avoid unnecessary IME caret movement on Win32.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1304/">Feature #1304</a>.
</li>
<li>
Clear IME state when switching language on Win32.
<a href="https://sourceforge.net/p/scintilla/bugs/2137/">Bug #2137</a>.
</li>
<li>
Fixed drawing of translucent rounded rectangles on Win32 with Direct2D.
<a href="https://sourceforge.net/p/scintilla/bugs/2144/">Bug #2144</a>.
</li>
<li>
Setting rectangular selection made faster.
<a href="https://sourceforge.net/p/scintilla/bugs/2130/">Bug #2130</a>.
</li>
<li>
SciTE reassigns *.s extension to the GNU Assembler language from the S+ statistical language.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite421.zip">Release 4.2.1</a>
</h3>
<ul>
<li>
Released 24 October 2019.
</li>
<li>
Add SCI_SETTABMINIMUMWIDTH to set the minimum width of tabs.
This allows minimaps or overviews to be laid out to match the full size editing view.
<a href="https://sourceforge.net/p/scintilla/bugs/2118/">Bug #2118</a>.
</li>
<li>
SciTE enables use of SCI_ commands in user.context.menu.
</li>
<li>
XML folder adds fold.xml.at.tag.open option to fold tags at the start of the tag "<" instead of the end ">".
<a href="https://sourceforge.net/p/scintilla/bugs/2128/">Bug #2128</a>.
</li>
<li>
Metapost lexer fixes crash with 'interface=none' comment.
<a href="https://sourceforge.net/p/scintilla/bugs/2129/">Bug #2129</a>.
</li>
<li>
Perl lexer supports indented here-docs.
<a href="https://sourceforge.net/p/scintilla/bugs/2121/">Bug #2121</a>.
</li>
<li>
Perl folder folds qw arrays.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1306/">Feature #1306</a>.
</li>
<li>
TCL folder can turn off whitespace flag by setting fold.compact property to 0.
<a href="https://sourceforge.net/p/scintilla/bugs/2131/">Bug #2131</a>.
</li>
<li>
Optimize setting up keyword lists in lexers.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1305/">Feature #1305</a>.
</li>
<li>
Updated case conversion and character categories to Unicode 12.1.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1315/">Feature #1315</a>.
</li>
<li>
On Win32, stop the IME candidate window moving unnecessarily and position it better.<br />
Stop candidate window overlapping composition text and taskbar.<br />
Position candidate window closer to composition text.<br />
Stop candidate window moving while typing.<br />
Align candidate window to target part of composition text.<br />
Stop Google IME on Windows 7 moving while typing.<br />
<a href="https://sourceforge.net/p/scintilla/bugs/2120/">Bug #2120</a>.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1300/">Feature #1300</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite420.zip">Release 4.2.0</a>
</h3>
<ul>
<li>
Released 5 July 2019.
</li>
<li>
Scintilla.iface adds line and pointer types, increases use of the position type, uses enumeration
types in methods and properties, and adds enumeration aliases to produce better CamelCase
identifiers.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1297/">Feature #1297</a>.
</li>
<li>
Source of input (direct / IME composition / IME result) reported in SCN_CHARADDED so applications
can treat temporary IME composition input differently.
<a href="https://sourceforge.net/p/scintilla/bugs/2038/">Bug #2038</a>.
</li>
<li>
Lexer added for DataFlex.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1295/">Feature #1295</a>.
</li>
<li>
Matlab lexer now treats keywords as case-sensitive.
<a href="https://sourceforge.net/p/scintilla/bugs/2112/">Bug #2112</a>.
</li>
<li>
SQL lexer fixes single quoted strings where '" (quote, double quote) was seen as continuing the string.
<a href="https://sourceforge.net/p/scintilla/bugs/2098/">Bug #2098</a>.
</li>
<li>
Platform layers should use InsertCharacter method to perform keyboard and IME input, replacing
AddCharUTF method.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1293/">Feature #1293</a>.
</li>
<li>
Add CARETSTYLE_BLOCK_AFTER option to always display block caret after selection.
<a href="https://sourceforge.net/p/scintilla/bugs/1924/">Bug #1924</a>.
</li>
<li>
On Win32, limit text returned from WM_GETTEXT to the length specified in wParam.
This could cause failures when using assistive technologies like NVDA.
<a href="https://sourceforge.net/p/scintilla/bugs/2110/">Bug #2110</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/2114/">Bug #2114</a>.
</li>
<li>
Fix deletion of isolated invalid bytes.
<a href="https://sourceforge.net/p/scintilla/bugs/2116/">Bug #2116</a>.
</li>
<li>
Fix position of line caret when overstrike caret set to block.
<a href="https://sourceforge.net/p/scintilla/bugs/2106/">Bug #2106</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite417.zip">Release 4.1.7</a>
</h3>
<ul>
<li>
Released 13 June 2019.
</li>
<li>
Fixes an incorrect default setting in SciTE which caused multiple visual features to fail to display.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite416.zip">Release 4.1.6</a>
</h3>
<ul>
<li>
Released 10 June 2019.
</li>
<li>
For Visual C++ 2019, /std:c++latest now includes some C++20 features so switch to /std:c++17.
</li>
<li>
SciTE supports editing files larger than 2 gigabytes when built as a 64-bit application.
</li>
<li>
Lexer added for X12.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1280/">Feature #1280</a>.
</li>
<li>
CMake folder folds function - endfunction.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1289/">Feature #1289</a>.
</li>
<li>
VB lexer adds support for VB2017 binary literal &B and digit separators 123_456.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1288/">Feature #1288</a>.
</li>
<li>
Improved performance of line folding code on large files when no folds are contracted.
This improves the time taken to open or close large files.
</li>
<li>
Fix bug where changing identifier sets in lexers preserved previous identifiers.
</li>
<li>
Fixed bug where changing to Unicode would rediscover line end positions even if still
sticking to ASCII (not Unicode NEL, LS, PS) line ends.
Only noticeable on huge files with over 100,000 lines.
</li>
<li>
Changed behaviour of SCI_STYLESETCASE(*,SC_CASE_CAMEL) so that it only treats 'a-zA-Z'
as word characters because this covers the feature's intended use (viewing case-insensitive ASCII-only
keywords in a specified casing style) and simplifies the behaviour and code.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1238/">Feature #1238</a>.
</li>
<li>
In SciTE added Camel case option "case:c" for styles to show keywords with initial capital.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite415.zip">Release 4.1.5</a>
</h3>
<ul>
<li>
Released 17 April 2019.
</li>
<li>
On Win32, removed special handling of non-0 wParam to WM_PAINT.
</li>
<li>
Implement high-priority idle on Win32 to make redraw smoother and more efficient.
</li>
<li>
Add vertical bookmark symbol SC_MARK_VERTICALBOOKMARK.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1276/">Feature #1276</a>.
</li>
<li>
Set default fold display text SCI_SETDEFAULTFOLDDISPLAYTEXT(text).
<a href="https://sourceforge.net/p/scintilla/feature-requests/1272/">Feature #1272</a>.
</li>
<li>
Add SCI_SETCHARACTERCATEGORYOPTIMIZATION API to optimize speed
of character category features like determining whether a character is a space or number
at the expense of memory.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1259/">Feature #1259</a>.
</li>
<li>
Improve the styling of numbers in Nim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1268/">Feature #1268</a>.
</li>
<li>
Fix exception when inserting DBCS text.
<a href="https://sourceforge.net/p/scintilla/bugs/2093/">Bug #2093</a>.
</li>
<li>
Improve performance of accessibility on GTK.
<a href="https://sourceforge.net/p/scintilla/bugs/2094/">Bug #2094</a>.
</li>
<li>
Fix text reported for deletion with accessibility on GTK.
<a href="https://sourceforge.net/p/scintilla/bugs/2095/">Bug #2095</a>.
</li>
<li>
Fix flicker when inserting primary selection on GTK.
<a href="https://sourceforge.net/p/scintilla/bugs/2087/">Bug #2087</a>.
</li>
<li>
Support coloured text in Windows 8.1+.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1277/">Feature #1277</a>.
</li>
<li>
Avoid potential long hangs with idle styling for huge documents on Cocoa and GTK.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite414.zip">Release 4.1.4</a>
</h3>
<ul>
<li>
Released 7 March 2019.
</li>
<li>
Calltips implemented on Qt.
<a href="https://sourceforge.net/p/scintilla/bugs/1548/">Bug #1548</a>.
</li>
<li>
Block caret in overtype mode SCI_SETCARETSTYLE(caretStyle | CARETSTYLE_OVERSTRIKE_BLOCK).
<a href="https://sourceforge.net/p/scintilla/feature-requests/1217/">Feature #1217</a>.
</li>
<li>
SciTE supports changing caret style via caret.style property.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1264/">Feature #1264</a>.
</li>
<li>
Lexer added for .NET's Common Intermediate Language CIL.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1265/">Feature #1265</a>.
</li>
<li>
The C++ lexer, with styling.within.preprocessor on, now interprets "(" in preprocessor "#if("
as an operator instead of part of the directive. This improves folding as well which could become
unbalanced.
</li>
<li>
Fix raw strings in Nim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1253/">Feature #1253</a>.
</li>
<li>
Fix inconsistency with dot styling in Nim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1260/">Feature #1260</a>.
</li>
<li>
Enhance the styling of backticks in Nim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1261/">Feature #1261</a>.
</li>
<li>
Enhance raw string identifier styling in Nim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1262/">Feature #1262</a>.
</li>
<li>
Fix fold behaviour with comments in Nim.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1254/">Feature #1254</a>.
</li>
<li>
Fix TCL lexer recognizing '"' after "," inside a bracketed substitution.
<a href="https://sourceforge.net/p/scintilla/bugs/1947/">Bug #1947</a>.
</li>
<li>
Fix garbage text from SCI_MOVESELECTEDLINESUP and SCI_MOVESELECTEDLINESDOWN
for rectangular or thin selection by performing no action.
<a href="https://sourceforge.net/p/scintilla/bugs/2078/">Bug #2078</a>.
</li>
<li>
Ensure container notified if Insert pressed when caret off-screen.
<a href="https://sourceforge.net/p/scintilla/bugs/2083/">Bug #2083</a>.
</li>
<li>
Fix memory leak when checking running instance on GTK.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1267/">Feature #1267</a>.
</li>
<li>
Platform layer font cache removed on Win32 as there is a platform-independent cache.
</li>
<li>
SciTE for GTK easier to build on macOS.
<a href="https://sourceforge.net/p/scintilla/bugs/2084/">Bug #2084</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite413.zip">Release 4.1.3</a>
</h3>
<ul>
<li>
Released 10 January 2019.
</li>
<li>
Add SCI_SETCOMMANDEVENTS API to allow turning off command events as they
can be a significant performance cost.
</li>
<li>
Improve efficiency of idle wrapping by wrapping in blocks as large as possible while
still remaining responsive.
</li>
<li>
Updated case conversion and character categories to Unicode 11.
</li>
<li>
Errorlist lexer recognizes negative line numbers as some programs show whole-file
errors occurring on line -1.
SciTE's parsing of diagnostics also updated to handle this case.
</li>
<li>
Added "nim" lexer (SCLEX_NIM) for the Nim language which was previously called Nimrod.
For compatibility, the old "nimrod" lexer is still present but is deprecated and will be removed at the
next major version.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1242/">Feature #1242</a>.
</li>
<li>
The Bash lexer implements substyles for multiple sets of keywords and supports SCI_PROPERTYNAMES.
<a href="https://sourceforge.net/p/scintilla/bugs/2054/">Bug #2054</a>.
</li>
<li>
The C++ lexer interprets continued preprocessor lines correctly by reading all of
the logical line.
<a href="https://sourceforge.net/p/scintilla/bugs/2062/">Bug #2062</a>.
</li>
<li>
The C++ lexer interprets preprocessor arithmetic expressions containing multiplicative and additive
operators correctly by following operator precedence rules.
<a href="https://sourceforge.net/p/scintilla/bugs/2069/">Bug #2069</a>.
</li>
<li>
The EDIFACT lexer handles message groups as well as messages.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1247/">Feature #1247</a>.
</li>
<li>
For SciTE's Find in Files, allow case-sensitivity and whole-word options when running
a user defined command.
<a href="https://sourceforge.net/p/scintilla/bugs/2053/">Bug #2053</a>.
</li>
<li>
Notify with SC_UPDATE_SELECTION when user performs a multiple selection add.
</li>
<li>
On macOS 10.14 Cocoa, fix incorrect horizontal offset.
<a href="https://sourceforge.net/p/scintilla/bugs/2022/">Bug #2022</a>.
</li>
<li>
On Cocoa, fix a crash that occurred when entering a dead key diacritic then a character
that can not take that diacritic, such as option+e (acute accent) followed by g.
<a href="https://sourceforge.net/p/scintilla/bugs/2061/">Bug #2061</a>.
</li>
<li>
On Cocoa, use dark info bar background when system is set to Dark Appearance.
<a href="https://sourceforge.net/p/scintilla/bugs/2055/">Bug #2055</a>.
</li>
<li>
Fixed a crash on Cocoa in bidirectional mode where some patterns of invalid UTF-8
caused failures to create Unicode strings.
</li>
<li>
SCI_MARKERADD returns -1 for invalid lines as documented instead of 0.
<a href="https://sourceforge.net/p/scintilla/bugs/2051/">Bug #2051</a>.
</li>
<li>
Improve performance of text insertion when Unicode line indexing off.
</li>
<li>
For Qt on Windows, stop specifying -std:c++latest as that is no longer needed
to enable C++17 with MSVC 2017 and Qt 5.12 and it caused duplicate flag warnings.
</li>
<li>
On Linux, enable Lua to access dynamic libraries.
<a href="https://sourceforge.net/p/scintilla/bugs/2058/">Bug #2058</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite412.zip">Release 4.1.2</a>
</h3>
<ul>
<li>
Released 2 October 2018.
</li>
<li>
C++ lexer fixes evaluation of "#elif".
<a href="https://sourceforge.net/p/scintilla/bugs/2045/">Bug #2045</a>.
</li>
<li>
Markdown lexer fixes highlighting of non-ASCII characters in links.
</li>
<li>
SciTE on Win32 drops menukey feature, makes Del key work again in find and replace strips
and disables F5 while command running.
<a href="https://sourceforge.net/p/scintilla/bugs/2044/">Bug #2044</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite411.zip">Release 4.1.1</a>
</h3>
<ul>
<li>
Released 9 September 2018.
</li>
<li>
Optional indexing of line starts in UTF-8 documents by UTF-32 code points and UTF-16 code units added.
This can improve performance for clients that provide UTF-32 or UTF-16 interfaces or that need to interoperate
with UTF-32 or UTF-16 components.
</li>
<li>
Lexers added for SAS and Stata.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1185/">Feature #1185.</a>
</li>
<li>
Shell folder folds "if", "do", and "case".
<a href="https://sourceforge.net/p/scintilla/feature-requests/1144/">Feature #1144.</a>
</li>
<li>
SciTE's menukey feature implemented on Windows.
</li>
<li>
For SciTE on Windows, user defined strip lists are now scrollable.
Cursor no longer flickers in edit and combo boxes.
Focus in and out events occur for combo boxes.
</li>
<li>
Fix a leak in the bidirectional code on Win32.
</li>
<li>
Fix crash on Win32 when switching technology to default after setting bidirectional mode.
</li>
<li>
Fix margin cursor on Cocoa to point more accurately.
</li>
<li>
Fix SciTE crash on GTK+ when using director interface.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite410.zip">Release 4.1.0</a>
</h3>
<ul>
<li>
Released 19 June 2018.
</li>
<li>
Experimental and incomplete support added for bidirectional text on Windows using DirectWrite and Cocoa for
UTF-8 documents by calling SCI_SETBIDIRECTIONAL(SC_BIDIRECTIONAL_L2R).
This allows documents that contain Arabic or Hebrew to be edited more easily in a way that is similar
to other editors.
</li>
<li>
INDIC_GRADIENT and INDIC_GRADIENTCENTRE indicator types added.
INDIC_GRADIENT starts with a specified colour and alpha at top of line and fades
to fully transparent at bottom.
INDIC_GRADIENTCENTRE starts with a specified colour and alpha at centre of line and fades
to fully transparent at top and bottom.
</li>
<li>
Wrap indent mode SC_WRAPINDENT_DEEPINDENT added which indents two tabs from previous line.
</li>
<li>
Indicators are drawn for line end characters when displayed.
</li>
<li>
Most invalid bytes in DBCS encodings are displayed as blobs to make problems clear
and ensure something is shown.
</li>
<li>
On Cocoa, invalid text in DBCS encodings will be interpreted through the
single-byte MacRoman encoding as that will accept any byte.
</li>
<li>
Diff lexer adds styles for diffs containing patches.
</li>
<li>
Crashes fixed on macOS for invalid DBCS characters when dragging text,
changing case of text, case-insensitive searching, and retrieving text as UTF-8.
</li>
<li>
Regular expression crash fixed on macOS when linking to libstdc++.
</li>
<li>
SciTE on GTK+, when running in single-instance mode, now forwards all command line arguments
to the already running instance.
This allows "SciTE filename -goto:line" to work.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite405.zip">Release 4.0.5</a>
</h3>
<ul>
<li>
Released 10 May 2018.
</li>
<li>
Add experimental SC_DOCUMENTOPTION_TEXT_LARGE option to accommodate documents larger than
2 GigaBytes.
</li>
<li>
Additional print option SC_PRINT_SCREENCOLOURS prints with the same colours used on screen
including line numbers.
</li>
<li>
SciTE can read settings in EditorConfig format when enabled with editor.config.enable property.
</li>
<li>
EDIFACT lexer adds property lexer.edifact.highlight.un.all to highlight all UN* segments.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1166/">Feature #1166.</a>
</li>
<li>
Fortran folder understands "change team" and "endteam".
<a href="https://sourceforge.net/p/scintilla/feature-requests/1216/">Feature #1216.</a>
</li>
<li>
Set the last X chosen when SCI_REPLACESEL called to ensure macros work
when text insertion followed by caret up or down.
</li>
<li>
Bugs fixed in regular expression searches in Scintilla where some matches did not occur in an
effort to avoid infinite loops when replacing on empty matches like "^" and "$".
Applications should always handle empty matches in a way that avoids infinite loops, commonly
by incrementing the search position after replacing an empty match.
SciTE fixes a bug where replacing "^" always matched on the first line even when it was an
"in selection" replace and the selection started after the line start.
</li>
<li>
Bug fixed in SciTE where invalid numeric properties could crash.
</li>
<li>
Runtime warnings fixed with SciTE on GTK after using Find in Files.
</li>
<li>
SciTE on Windows find and replace strips place caret at end of text after search.
</li>
<li>
Bug fixed with SciTE on macOS where corner debris appeared in the margin when scrolling.
Fixed by not completely hiding the status bar so the curved corner is no longer part of the
scrolling region.
By default, 4 pixels of the status bar remain visible and this can be changed with
the statusbar.minimum.height property or turned off if the debris are not a problem by
setting the property to 0.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite404.zip">Release 4.0.4</a>
</h3>
<ul>
<li>
Released 10 April 2018.
</li>
<li>
On Win32, the standard makefiles build a libscintilla static library as well as the existing dynamic libraries.
The statically linked version of SciTE, Sc1, links to this static library. A new file, ScintillaDLL.cxx, provides
the DllMain function required for a stand-alone Scintilla DLL. Build and project files should include this
file when producing a DLL and omit it when producing a static library or linking Scintilla statically.
The STATIC_BUILD preprocessor symbol is no longer used.
</li>
<li>
On Win32, Direct2D support is no longer automatically detected during build.
DISABLE_D2D may still be defined to remove Direct2D features.
</li>
<li>
In some cases, invalid UTF-8 is handled in a way that is a little friendlier.
For example, when copying to the clipboard on Windows, an invalid lead byte will be copied as the
equivalent ISO 8859-1 character and will not hide the following byte.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1211/">Feature #1211.</a>
</li>
<li>
Lexer added for the Maxima computer algebra language.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1210/">Feature #1210.</a>
</li>
<li>
Fix hang in Lua lexer when lexing a label up to the terminating "::".
<a href="https://sourceforge.net/p/scintilla/bugs/1999/">Bug #1999</a>.
</li>
<li>
Lua lexer matches identifier chains with dots and colons.
<a href="https://sourceforge.net/p/scintilla/bugs/1952/">Bug #1952</a>.
</li>
<li>
For rectangular selections, pressing Home or End now moves the caret to the Home or End
position instead of the limit of the rectangular selection.
</li>
<li>
Fix move-extends-selection mode for rectangular and line selections.
</li>
<li>
On GTK+, change lifetime of selection widget to avoid runtime warnings.
</li>
<li>
Fix building on Mingw/MSYS to perform file copies and deletions.
<a href="https://sourceforge.net/p/scintilla/bugs/1993/">Bug #1993</a>.
</li>
<li>
SciTE can match a wider variety of file patterns where '*' is in the middle of
the pattern and where there are multiple '*'.
A '?' matches any single character.
</li>
<li>
SciTE on Windows can execute Python scripts directly by name when on path.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1209/">Feature #1209.</a>
</li>
<li>
SciTE on Windows Find in Files checks for cancel after every 10,000 lines read so
can be stopped on huge files.
</li>
<li>
SciTE remembers entered values in lists in more cases for find, replace and find in files.
<a href="https://sourceforge.net/p/scintilla/bugs/1715/">Bug #1715</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite403.zip">Release 4.0.3</a>
</h3>
<ul>
<li>
Released 12 February 2018.
</li>
<li>
Features from C++14 and C++17 are used more often, with build files now specifying
c++17, gnu++17, c++1z, or std:c++latest (MSVC).
Requires Microsoft Visual C++ 2017.5, GCC 7, Xcode 9.2 or Clang 4.0 or newer.
</li>
<li>
SCI_CREATEDOCUMENT adds a bytes argument to allocate memory for an initial size.
SCI_CREATELOADER and SCI_CREATEDOCUMENT add a documentOption argument to
allow choosing different document capabilities.
</li>
<li>
Add SC_DOCUMENTOPTION_STYLES_NONE option to stop allocating memory for styles.
</li>
<li>
Add SCI_GETMOVEEXTENDSSELECTION to allow applications to add more
complex selection commands.
</li>
<li>
SciTE property bookmark.symbol allows choosing symbol used for bookmarks.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1208/">Feature #1208.</a>
</li>
<li>
Improve VHDL lexer's handling of character literals and escape characters in strings.
</li>
<li>
Fix double tap word selection on Windows 10 1709 Fall Creators Update.
<a href="https://sourceforge.net/p/scintilla/bugs/1983/">Bug #1983</a>.
</li>
<li>
Fix closing autocompletion lists on Cocoa for macOS 10.13 where the window
was emptying but staying visible.
<a href="https://sourceforge.net/p/scintilla/bugs/1981/">Bug #1981</a>.
</li>
<li>
Fix drawing failure on Cocoa with animated find indicator in large files with macOS 10.12
by disabling animation.
</li>
<li>
SciTE on GTK+ installs its desktop file as non-executable and supports the common
LDLIBS make variable.
<a href="https://sourceforge.net/p/scintilla/bugs/1989/">Bug #1989</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/1990/">Bug #1990</a>.
</li>
<li>
SciTE shows correct column number when caret in virtual space.
<a href="https://sourceforge.net/p/scintilla/bugs/1991/">Bug #1991</a>.
</li>
<li>
SciTE preserves selection positions when saving with strip.trailing.spaces
and virtual space turned on.
<a href="https://sourceforge.net/p/scintilla/bugs/1992/">Bug #1992</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite402.zip">Release 4.0.2</a>
</h3>
<ul>
<li>
Released 26 October 2017.
</li>
<li>
Fix HTML lexer handling of Django so that nesting a {{ }} or {% %}
Django tag inside of a {# #} Django comment does not break highlighting of rest of file
</li>
<li>
The Matlab folder now treats "while" as a fold start.
<a href="https://sourceforge.net/p/scintilla/bugs/1985/">Bug #1985</a>.
</li>
<li>
Fix failure on Cocoa with animated find indicator in large files with macOS 10.13
by disabling animation on 10.13.
</li>
<li>
Fix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13.
<a href="https://sourceforge.net/p/scintilla/bugs/1979/">Bug #1979</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite401.zip">Release 4.0.1</a>
</h3>
<ul>
<li>
Released 23 October 2017.
</li>
<li>
The ILoader interface is defined in its own header ILoader.h as it is not
related to lexing so doesn't belong in ILexer.h.
</li>
<li>
The Scintilla namespace is always active for internal symbols and for the lexer interfaces
ILexer4 and IDocument.
</li>
<li>
The Baan lexer checks that matches to 3rd set of keywords are function calls and leaves as identifiers if not.
Baan lexer and folder support #context_on / #context_off preprocessor feature.
</li>
<li>
The C++ lexer improved preprocessor conformance.<br />
Default value of 0 for undefined preprocessor symbols.<br />
#define A is treated as #define A 1.<br />
"defined A" removes "A" before replacing "defined" with value.
<a href="https://sourceforge.net/p/scintilla/bugs/1966/">Bug #1966</a>.
</li>
<li>
The Python folder treats triple-quoted f-strings like triple-quoted strings.
<a href="https://sourceforge.net/p/scintilla/bugs/1977/">Bug #1977</a>.
</li>
<li>
The SQL lexer uses sql.backslash.escapes for double quoted strings.
<a href="https://sourceforge.net/p/scintilla/bugs/1968/">Bug #1968</a>.
</li>
<li>
Minor undefined behaviour fixed.
<a href="https://sourceforge.net/p/scintilla/bugs/1978/">Bug #1978</a>.
</li>
<li>
On Cocoa, improve scrolling on macOS 10.12.
<a href="https://sourceforge.net/p/scintilla/bugs/1885/">Bug #1885</a>.
</li>
<li>
On Cocoa, fix line selection by clicking in the margin when scrolled.
<a href="https://sourceforge.net/p/scintilla/bugs/1971/">Bug #1971</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite400.zip">Release 4.0.0</a>
</h3>
<ul>
<li>
Released 16 August 2017.
</li>
<li>
This is an unstable release with changes to interfaces used for lexers and platform access.
Some more changes may occur to internal and external interfaces before stability is regained with 4.1.0.
</li>
<li>
Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer.
</li>
<li>
Support dropped for GTK+ versions before 2.24.
</li>
<li>
The lexer interfaces ILexer and ILexerWithSubStyles, along with additional style metadata methods, were merged into ILexer4.
Most lexers will need to be updated to match the new interfaces.
</li>
<li>
The IDocumentWithLineEnd interface was merged into IDocument.
</li>
<li>
The platform layer interface has changed with unused methods removed, a new mechanism for
reporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods.
</li>
<li>
<a href="StyleMetadata.html">Style metadata</a> may be retrieved from lexers that support this through the SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE,
SCI_TAGSOFSTYLE, and SCI_DESCRIPTIONOFSTYLE APIs.
</li>
<li>
The Cocoa platform layer uses Automatic Reference Counting (ARC).
</li>
<li>
The default encoding in Scintilla is UTF-8.
</li>
<li>
An SCN_AUTOCSELECTIONCHANGE notification is sent when items are highlighted in an autocompletion or user list.
</li>
<li>
The data parameter to ILoader::AddData made const.
<a href="https://sourceforge.net/p/scintilla/bugs/1955/">Bug #1955</a>.
</li>
<li>
SciTE's embedded Lua interpreter updated to Lua 5.3.
</li>
<li>
SciTE allows event handlers to be arbitrary callables, not just functions.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1190/">Feature #1190.</a>
</li>
<li>
SciTE allows user.shortcuts to be defined with symbolic Scintilla messages like
'Ctrl+L|SCI_LINEDELETE|'.
</li>
<li>
The Matlab lexer treats 'end' as a number rather than a keyword when used as an index.
This also stops incorrect folding.
<a href="https://sourceforge.net/p/scintilla/bugs/1951/">Bug #1951</a>.
</li>
<li>
The Matlab folder implements "fold", "fold.comment", and "fold.compact" properties.
<a href="https://sourceforge.net/p/scintilla/bugs/1965/">Bug #1965</a>.
</li>
<li>
The Rust lexer recognizes 'usize' numeric literal suffixes.
<a href="https://sourceforge.net/p/scintilla/bugs/1919/">Bug #1919</a>.
</li>
<li>
Ensure redraw when application changes overtype mode so caret change visible even when not blinking.
Notify application with SC_UPDATE_SELECTION when overtype changed - previously
sent SC_UPDATE_CONTENT.
</li>
<li>
Fix drawing failure when in wrap mode for delete to start/end of line which
affects later lines but did not redraw them.
Also fixed drawing for wrap mode on GTK+ 2.x.
<a href="https://sourceforge.net/p/scintilla/bugs/1949/">Bug #1949</a>.
</li>
<li>
On GTK+ fix drawing problems including incorrect scrollbar redrawing and flickering of text.
<a href="https://sourceforge.net/p/scintilla/bugs/1876/">Bug #1876</a>.
</li>
<li>
On Linux, both for GTK+ and Qt, the default modifier key for rectangular selection is now Alt.
This is the same as Windows and macOS.
This was changed from Ctrl as window managers are less likely to intercept Alt+Drag for
moving windows than in the past.
</li>
<li>
On Cocoa, fix doCommandBySelector but avoid double effect of 'delete'
key.
<a href="https://sourceforge.net/p/scintilla/bugs/1958/">Bug #1958</a>.
</li>
<li>
On Qt, the updateUi signal includes the 'updated' flags.
No updateUi signal is sent for focus in events.
These changes make Qt behave more like the other platforms.
</li>
<li>
On Qt, dropping files on Scintilla now fires the SCN_URIDROPPED notification
instead of inserting text.
</li>
<li>
On Qt, focus changes send the focusChanged signal.
<a href="https://sourceforge.net/p/scintilla/bugs/1957/">Bug #1957</a>.
</li>
<li>
On Qt, mouse tracking is reenabled when the window is reshown.
<a href="https://sourceforge.net/p/scintilla/bugs/1948/">Bug #1948</a>.
</li>
<li>
On Windows, the DirectWrite modes SC_TECHNOLOGY_DIRECTWRITEDC and
SC_TECHNOLOGY_DIRECTWRITERETAIN are no longer provisional.
</li>
<li>
SciTE on macOS fixes a crash when platform-specific and platform-independent
session restoration clashed.
<a href="https://sourceforge.net/p/scintilla/bugs/1960/">Bug #1960</a>.
</li>
<li>
SciTE on GTK+ implements find.close.on.find.
<a href="https://sourceforge.net/p/scintilla/bugs/1152/">Bug #1152</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/1254/">Bug #1254</a>,
<a href="https://sourceforge.net/p/scintilla/bugs/1762/">Bug #1762</a>,
<a href="https://sourceforge.net/p/scintilla/feature-requests/849/">Feature #849</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scintilla376.zip">Release 3.7.6</a>
</h3>
<ul>
<li>
Released 8 August 2017.
</li>
<li>
This is the first release of the
<a href="https://scintilla.sourceforge.io/LongTermDownload.html">long term branch</a>
which avoids using features from C++14 or later in order to support older systems.
</li>
<li>
The Baan lexer correctly highlights numbers when followed by an operator.
</li>
<li>
On Cocoa, fix a bug with retrieving encoded bytes.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite375.zip">Release 3.7.5</a>
</h3>
<ul>
<li>
Released 26 May 2017.
</li>
<li>
This is the final release of SciTE 3.x.
</li>
<li>
Support dropped for Microsoft Visual C++ 2013 due to increased use of C++11 features.
</li>
<li>
Added a caret line frame as an alternative visual for highlighting the caret line.
</li>
<li>
Added "Reverse Selected Lines" feature.
</li>
<li>
SciTE adds "Select All Bookmarks" command.
</li>
<li>
SciTE adds a save.path.suggestion setting to suggest a file name when saving an
unnamed buffer.
</li>
<li>
Updated case conversion and character categories to Unicode 9.
</li>
<li>
The Baan lexer recognizes numeric literals in a more compliant manner including
hexadecimal numbers and exponentials.
</li>
<li>
The Bash lexer recognizes strings in lists in more cases.
<a href="https://sourceforge.net/p/scintilla/bugs/1944/">Bug #1944</a>.
</li>
<li>
The Fortran lexer recognizes a preprocessor line after a line continuation &.
<a href="https://sourceforge.net/p/scintilla/bugs/1935/">Bug #1935</a>.
</li>
<li>
The Fortran folder can fold comments.
<a href="https://sourceforge.net/p/scintilla/bugs/1936/">Bug #1936</a>.
</li>
<li>
The PowerShell lexer recognizes escaped quotes in strings.
<a href="https://sourceforge.net/p/scintilla/bugs/1929/">Bug #1929</a>.
</li>
<li>
The Python lexer recognizes identifiers more accurately when they include non-ASCII characters.
</li>
<li>
The Python folder treats comments at the end of the file as separate from the preceding structure.
</li>
<li>
The YAML lexer recognizes comments in more situations and styles a
"..." line like a "---" line.
<a href="https://sourceforge.net/p/scintilla/bugs/1931/">Bug #1931</a>.
</li>
<li>
Update scroll bar when annotations added, removed, or visibility changed.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1187/">Feature #1187.</a>
</li>
<li>
Canceling modes with the Esc key preserves a rectangular selection.
<a href="https://sourceforge.net/p/scintilla/bugs/1940/">Bug #1940</a>.
</li>
<li>
Builds are made with a sorted list of lexers to be more reproducible.
<a href="https://sourceforge.net/p/scintilla/bugs/1946/">Bug #1946</a>.
</li>
<li>
On Cocoa, a leak of mouse tracking areas was fixed.
</li>
<li>
On Cocoa, the autocompletion is 4 pixels wider to avoid text truncation.
</li>
<li>
On Windows, stop drawing a focus rectangle on the autocompletion list and
raise the default list length to 9 items.
</li>
<li>
SciTE examines at most 1 MB of a file to automatically determine indentation
for indent.auto to avoid a lengthy pause when loading very large files.
</li>
<li>
SciTE user interface uses lighter colours and fewer 3D elements to match current desktop environments.
</li>
<li>
SciTE sets buffer dirty and shows message when file deleted if load.on.activate on.
</li>
<li>
SciTE on Windows Find strip Find button works in incremental no-close mode.
<a href="https://sourceforge.net/p/scintilla/bugs/1926/">Bug #1926</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite374.zip">Release 3.7.4</a>
</h3>
<ul>
<li>
Released 21 March 2017.
</li>
<li>
Requires a C++11 compiler. GCC 4.8 and MSVC 2015 are supported.
</li>
<li>
Support dropped for Windows NT 4.
</li>
<li>
Accessibility support may be queried with SCI_GETACCESSIBILITY.
On GTK+, accessibility may be disabled by calling SCI_SETACCESSIBILITY.
</li>
<li>
Lexer added for "indent" language which is styled as plain text but folded by indentation level.
</li>
<li>
The Progress ABL lexer handles nested comments where comment starts or ends
are adjacent like "/*/*" or "*/*/".
</li>
<li>
In the Python lexer, improve f-string support.
Add support for multiline expressions in triple quoted f-strings.
Handle nested "()", "[]", and "{}" in f-string expressions and terminate expression colouring at ":" or "!".
End f-string if ending quote is seen in a "{}" expression.
Fix terminating single quoted f-string at EOL.
<a href="https://sourceforge.net/p/scintilla/bugs/1918/">Bug #1918</a>.
</li>
<li>
The VHDL folder folds an "entity" on the first line of the file.
</li>
<li>
For IMEs, do not clear selected text when there is no composition text to show.
</li>
<li>
Fix to crash with fold tags where line inserted at start.
</li>
<li>
Fix to stream selection mode when moving caret up or down.
<a href="https://sourceforge.net/p/scintilla/bugs/1905/">Bug #1905</a>.
</li>
<li>
Drawing fixes for fold tags include fully drawing lines and not overlapping some
drawing and ensuring edges and mark underlines are visible.
</li>
<li>
Fix Cocoa failure to display accented character chooser for European
languages by partially reverting a change made to prevent a crash with
Chinese input by special-casing the Cangjie input source.
<a href="https://sourceforge.net/p/scintilla/bugs/1881/">Bug #1881</a>.
</li>
<li>
Fix potential problems with IME on Cocoa when document contains invalid
UTF-8.
</li>
<li>
Fix crash on Cocoa with OS X 10.9 due to accessibility API not available.
<a href="https://sourceforge.net/p/scintilla/bugs/1915/">Bug #1915</a>.
</li>
<li>
Improved speed of accessibility code on GTK+ by using additional memory
as a cache.
<a href="https://sourceforge.net/p/scintilla/bugs/1910/">Bug #1910</a>.
</li>
<li>
Fix crash in accessibility code on GTK+ < 3.3.6 caused by previous bug fix.
<a href="https://sourceforge.net/p/scintilla/bugs/1907/">Bug #1907</a>.
</li>
<li>
Fix to prevent double scrolling on GTK+ with X11.
<a href="https://sourceforge.net/p/scintilla/bugs/1901/">Bug #1901</a>.
</li>
<li>
SciTE on GTK+ adds an "accessibility" property to allow disabling accessibility
on GTK+ as an optimization.
</li>
<li>
SciTE on GTK+ has changed file chooser behaviour for some actions:
overwriting an existing file shows a warning;
the default session file name "SciTE.session" is shown and a "*.session" filter is applied;
appropriate filters are applied when exporting;
the current file name is displayed in "Save As" even when that file no longer exists.
</li>
<li>
SciTE fixed a bug where, on GTK+, when the output pane had focus, menu commands
performed by mouse were sent instead to the edit pane.
</li>
<li>
SciTE on Windows 8+ further restricts the paths searched for DLLs to the application
and system directories which may prevent some binary planting attacks.
</li>
<li>
Fix failure to load Direct2D on Windows when used on old versions of Windows.
<a href="https://sourceforge.net/p/scintilla/bugs/1653/">Bug #1653</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite373.zip">Release 3.7.3</a>
</h3>
<ul>
<li>
Released 19 February 2017.
</li>
<li>
Display block caret over the character at the end of a selection to be similar
to other editors.
</li>
<li>
In SciTE can choose colours for fold markers.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1172/">Feature #1172.</a>
</li>
<li>
In SciTE can hide buffer numbers in tabs.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1173/">Feature #1173.</a>
</li>
<li>
The Diff lexer recognizes deleted lines that start with "--- ".
</li>
<li>
The Lua lexer requires the first line to start with "#!" to be treated as a shebang comment,
not just "#".
<a href="https://sourceforge.net/p/scintilla/bugs/1900/">Bug #1900</a>.
</li>
<li>
The Matlab lexer requires block comment start and end to be alone on a line.
<a href="https://sourceforge.net/p/scintilla/bugs/1902/">Bug #1902</a>.
</li>
<li>
The Python lexer supports f-strings with new styles, allows Unicode identifiers,
and no longer allows @1 to be a decorator.
<a href="https://sourceforge.net/p/scintilla/bugs/1848/">Bug #1848</a>.
</li>
<li>
Fix folding inconsistency when fold header added above a folded part.
Avoid unnecessary unfolding when a deletion does not include a line end.
<a href="https://sourceforge.net/p/scintilla/bugs/1896/">Bug #1896</a>.
</li>
<li>
Fix finalization crash on Cocoa.
<a href="https://sourceforge.net/p/scintilla/bugs/1909/">Bug #1909</a>.
</li>
<li>
SciTE on GTK+ can have a wide divider between the panes with the
split.wide property.
</li>
<li>
Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland.
Newer APIs used on GTK+ 3.22 as older APIs were deprecated.
</li>
<li>
Fix crash in accessibility code on GTK+ due to signal receipt after destruction.
<a href="https://sourceforge.net/p/scintilla/bugs/1907/">Bug #1907</a>.
</li>
<li>
Make trackpad scrolling work on Wayland.
<a href="https://sourceforge.net/p/scintilla/bugs/1901/">Bug #1901</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite372.zip">Release 3.7.2</a>
</h3>
<ul>
<li>
Released 30 December 2016.
</li>
<li>
Minimize redrawing for SCI_SETSELECTIONN* APIs.
<a href="https://sourceforge.net/p/scintilla/bugs/1888/">Bug #1888</a>.
</li>
<li>
Use more precision to allow selecting individual lines in files with
more than 16.7 million lines.
</li>
<li>
For Qt 5, define QT_WS_MAC or QT_WS_X11 on those platforms.
<a href="https://sourceforge.net/p/scintilla/bugs/1887/">Bug #1887</a>.
</li>
<li>
For Cocoa, fix crash on view destruction with macOS 10.12.2.
<a href="https://sourceforge.net/p/scintilla/bugs/1891/">Bug #1891</a>.
</li>
<li>
Fix crash on GTK+ <3.8 due to incorrect lifetime of accessibility object.
More accurate reporting of attribute ranges and deletion lengths for accessibility.
</li>
<li>
In SciTE, if a Lua script causes a Scintilla failure exception, display error
message in output pane instead of exiting.
<a href="https://sourceforge.net/p/scintilla/bugs/1773/">Bug #1773</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite371.zip">Release 3.7.1</a>
</h3>
<ul>
<li>
Released 4 December 2016.
</li>
<li>
The Scintilla namespace is no longer applied to struct definitions in Scintilla.h even
when SCI_NAMESPACE defined.
Client code should not define SCI_NAMESPACE.
</li>
<li>
Structure names in Scintilla.h without prefixes are deprecated and will now only
be usable with INCLUDE_DEPRECATED_FEATURES defined.<br />
Use the newer names with the "Sci_" prefix:<br />
CharacterRange → Sci_CharacterRange<br />
TextRange → Sci_TextRange<br />
TextToFind → Sci_TextToFind<br />
RangeToFormat → Sci_RangeToFormat<br />
NotifyHeader → Sci_NotifyHeader
</li>
<li>
Previously deprecated features SC_CP_DBCS, SCI_SETUSEPALETTE. and SCI_GETUSEPALETTE
have been removed and can no longer be used in client code.
</li>
<li>
Single phase drawing SC_PHASES_ONE is deprecated along with the
SCI_SETTWOPHASEDRAW and SCI_GETTWOPHASEDRAW messages.
</li>
<li>
Accessibility support allowing screen readers to work added on GTK+ and Cocoa.
</li>
<li>
Textual tags may be displayed to the right on folded lines with SCI_TOGGLEFOLDSHOWTEXT.
This is commonly something like "{ ... }" or "<tr>...</tr>".
It is displayed with the STYLE_FOLDDISPLAYTEXT style and may have a box drawn around it
with SCI_FOLDDISPLAYTEXTSETSTYLE.
</li>
<li>
A mouse right-click over the margin may send an SCN_MARGINRIGHTCLICK event.
This only occurs when popup menus are turned off.
SCI_USEPOPUP now has three states: SC_POPUP_NEVER, SC_POPUP_ALL, or SC_POPUP_TEXT.
</li>
<li>
INDIC_POINT and INDIC_POINTCHARACTER indicators added to display small arrows
underneath positions or characters.
</li>
<li>
Added alternate appearance for visible tabs which looks like a horizontal line.
Controlled with SCI_SETTABDRAWMODE.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1165/">Feature #1165.</a>
</li>
<li>
On Cocoa, a modulemap file is included to allow Scintilla to be treated as a module.
This makes it easier to use Scintilla from the Swift language.
</li>
<li>
Baan folder accommodates sections and lexer fixes definition of SCE_BAAN_FUNCDEF.
</li>
<li>
EDIFACT lexer and folder added.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1166/">Feature #1166.</a>
</li>
<li>
JSON folder fixed where it didn't resume folding with the correct fold level.
</li>
<li>
Matlab folder based on syntax instead of indentation so more accurate.
<a href="https://sourceforge.net/p/scintilla/bugs/1692/">Bug #1692</a>.
</li>
<li>
YAML lexer fixed style of references and keywords when followed by a comment.
<a href="https://sourceforge.net/p/scintilla/bugs/1872/">Bug #1872</a>.
</li>
<li>
Margin click to select line now clears rectangular and additional selections.
</li>
<li>
Fixed a NULL access bug on GTK+ where the scrollbars could be used during destruction.
<a href="https://sourceforge.net/p/scintilla/bugs/1873/">Bug #1873</a>.
</li>
<li>
A potential bug on GTK+ fixed where asynchronous clipboard could be delivered after its
target Scintilla instance was destroyed.
</li>
<li>
Cocoa IME made more compliant with documented behaviour to avoid bugs that caused
huge allocations.
<a href="https://sourceforge.net/p/scintilla/bugs/1881/">Bug #1881</a>.
</li>
<li>
On Win32 fix EM_SETSEL to match Microsoft documentation..
<a href="https://sourceforge.net/p/scintilla/bugs/1886/">Bug #1886</a>.
</li>
<li>
SciTE on GTK+ allows localizing tool bar tool tips.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1167/">Feature #1167.</a>
</li>
<li>
SciTE on Windows restores focus to edit pane after closing user strip.
</li>
<li>
SciTE measures files larger that 2 GB which allows it to refuse to open huge files more consistently
and to show better warning messages.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite370.zip">Release 3.7.0</a>
</h3>
<ul>
<li>
Released 16 October 2016.
</li>
<li>
Word selection, navigation, and manipulation is now performed on characters instead of bytes
leading to more natural behaviour for multi-byte encodings like UTF-8.
For UTF-8 characters 0x80 and above, classification into word; punctuation; space; or line-end
is based on the Unicode general category of the character and is not customizable.
<a href="https://sourceforge.net/p/scintilla/bugs/1832/">Bug #1832</a>.
</li>
<li>
Two enums changed in Scintilla.iface which may lead to changed bindings.
There were 2 FontQuality enums and the first is now PhasesDraw.
The prefix for FoldAction was SC_FOLDACTION and is now SC_FOLDACTION_
which is similar to other enums.
These changes do not affect the standard C/C++ binding.
</li>
<li>
EDGE_MULTILINE and SCI_MULTIEDGEADDLINE added to allow displaying multiple
vertical edges simultaneously.
</li>
<li>
The number of margins can be changed with SCI_SETMARGINS.
</li>
<li>
Margin type SC_MARGIN_COLOUR added so that the application may
choose any colour for a margin with SCI_SETMARGINBACKN.
</li>
<li>
On Win32, mouse wheel scrolling can be restricted to only occur when the mouse is
within the window.
</li>
<li>
The WordList class in lexlib used by lexers adds an InListAbridged method for
matching keywords that have particular prefixes and/or suffixes.
</li>
<li>
The Baan lexer was changed significantly with more lexical states, keyword sets,
and support for abridged keywords.
</li>
<li>
The CoffeeScript lexer styles interpolated code in strings.
<a href="https://sourceforge.net/p/scintilla/bugs/1865/">Bug #1865</a>.
</li>
<li>
The Progress lexer "progress" has been replaced with a new lexer "abl"
(Advanced Business Language)
with a different set of lexical states and more functionality.
The lexical state prefix has changed from SCE_4GL_ to SCE_ABL_.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1143/">Feature #1143.</a>
</li>
<li>
The PowerShell lexer understands the grave accent escape character.
<a href="https://sourceforge.net/p/scintilla/bugs/1868/">Bug #1868</a>.
</li>
<li>
The YAML lexer recognizes inline comments.
<a href="https://sourceforge.net/p/scintilla/bugs/1660/">Bug #1660</a>.
</li>
<li>
SciTE on Windows can retain coloured selection when inactive with
selection.always.visible property.
</li>
<li>
SciTE on Windows adds a state to close.on.find to close the find strip when
a match is found.
</li>
<li>
Fix caret position after left or right movement with rectangular selection.
<a href="https://sourceforge.net/p/scintilla/bugs/1861/">Bug #1861</a>.
</li>
<li>
In SciTE, optional prefix argument added to scite.ConstantName method.
<a href="https://sourceforge.net/p/scintilla/bugs/1860/">Bug #1860</a>.
</li>
<li>
On Cocoa, include ILexer.h in the public headers of the framework.
<a href="https://sourceforge.net/p/scintilla/bugs/1855/">Bug #1855</a>.
</li>
<li>
On Cocoa, allow subclass of SCIContentView to set cursor.
<a href="https://sourceforge.net/p/scintilla/bugs/1863/">Bug #1863</a>.
</li>
<li>
On Cocoa, recognize the numeric keypad '+', '-', and '/' keys as
SCK_ADD, SCK_SUBTRACT, and SCK_DIVIDE.
<a href="https://sourceforge.net/p/scintilla/bugs/1867/">Bug #1867</a>.
</li>
<li>
On GTK+ 3.21+ fix incorrect font size in auto-completion list.
<a href="https://sourceforge.net/p/scintilla/bugs/1859/">Bug #1859</a>.
</li>
<li>
Fix SciTE crash when command.mode ends with comma.
<a href="https://sourceforge.net/p/scintilla/bugs/1857/">Bug #1857</a>.
</li>
<li>
SciTE on Windows has a full size toolbar icon for "Close".
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite367.zip">Release 3.6.7</a>
</h3>
<ul>
<li>
Released 4 September 2016.
</li>
<li>
C++11 range-based for loops used in SciTE so GCC 4.6 is now the minimum supported version.
</li>
<li>
SC_CHARSET_DEFAULT now means code page 1252 on Windows unless a code page is set.
This prevents unexpected behaviour and crashes on East Asian systems where default locales are commonly DBCS.
Projects which want to default to DBCS code pages in East Asian locales should set the code page and
character set explicitly.
</li>
<li>
SCVS_NOWRAPLINESTART option stops left arrow from wrapping to the previous line.
Most commonly wanted when virtual space is used.
<a href="https://sourceforge.net/p/scintilla/bugs/1648/">Bug #1648</a>.
</li>
<li>
The C++ lexer can fold on #else and #elif with the fold.cpp.preprocessor.at.else property.
<a href="https://sourceforge.net/p/scintilla/feature-requests/210/">Bug #210</a>.
</li>
<li>
The errorlist lexer detects warnings from Visual C++ which do not contain line numbers.
</li>
<li>
The HTML lexer no longer treats "<?" inside a string in a script as potentially starting an XML document.
<a href="https://sourceforge.net/p/scintilla/bugs/767/">Bug #767</a>.
</li>
<li>
The HTML lexer fixes a problem resuming at a script start where the starting state continued
past where it should.
<a href="https://sourceforge.net/p/scintilla/bugs/1849/">Bug #1849</a>.
</li>
<li>
When inserting spaces for virtual space and the position is in indentation and tabs are enabled
for indentation then use tabs.
<a href="https://sourceforge.net/p/scintilla/bugs/1850/">Bug #1850</a>.
</li>
<li>
Fix fold expand when some child text not styled.
Caused by fixes for Bug #1799.
<a href="https://sourceforge.net/p/scintilla/bugs/1842/">Bug #1842</a>.
</li>
<li>
Fix key binding bug on Cocoa for control+.
<a href="https://sourceforge.net/p/scintilla/bugs/1854/">Bug #1854</a>.
</li>
<li>
Fix scroll bar size warnings on GTK+ caused by #1831.
<a href="https://sourceforge.net/p/scintilla/bugs/1851/">Bug #1851</a>.
</li>
<li>
Small fixes for GTK+ makefile.
<a href="https://sourceforge.net/p/scintilla/bugs/1844/">Bug #1844</a>.
<a href="https://sourceforge.net/p/scintilla/bugs/1845/">Bug #1845</a>.
<a href="https://sourceforge.net/p/scintilla/bugs/1846/">Bug #1846</a>.
</li>
<li>
Fix SciTE indentation after code like "void function () {}".
</li>
<li>
Fix SciTE global regex replace of "^" with something which missed the line after empty
lines with LF line ends.
<a href="https://sourceforge.net/p/scintilla/bugs/1839/">Bug #1839</a>.
</li>
<li>
Fix SciTE on GTK+ 3.20 bug where toggle buttons on find and replace strips
did not show active state.
<a href="https://sourceforge.net/p/scintilla/bugs/1853/">Bug #1853</a>.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite366.zip">Release 3.6.6</a>
</h3>
<ul>
<li>
Released 24 May 2016.
</li>
<li>
C++ 11 <regex> support built by default. Can be disabled by defining NO_CXX11_REGEX.
</li>
<li>
SciTE_USERHOME environment variable allows separate location for writeable properties files.
<a href="https://sourceforge.net/p/scintilla/feature-requests/965/">Feature #965.</a>
</li>
<li>
GObject introspection supports notify and command events.
</li>
<li>
The Progress lexer now allows comments preceded by a tab.
</li>
<li>
Scripts reading Scintilla.iface file include comments for enu and lex definitions.
<a href="https://sourceforge.net/p/scintilla/bugs/1829/">Bug #1829</a>.
</li>
<li>
Fix crashes on GTK+ if idle work active when destroyed.
<a href="https://sourceforge.net/p/scintilla/bugs/1827/">Bug #1827</a>.
</li>
<li>
Fixed bugs when used on GTK+ 3.20.
<a href="https://sourceforge.net/p/scintilla/bugs/1825/">Bug #1825</a>.
<a href="https://sourceforge.net/p/scintilla/bugs/1831/">Bug #1831</a>.
</li>
<li>
Fix SciTE search field background with dark theme on GTK+ 2.x.
<a href="https://sourceforge.net/p/scintilla/bugs/1826/">Bug #1826</a>.
</li>
<li>
Fixed bug on Win32 that allowed resizing autocompletion from bottom when it was
located above the caret.
</li>
<li>
On Win32, when using a screen reader and selecting text using Shift+Arrow,
fix bug when scrolling made the caret stay at the same screen location
so the screen reader did not speak the added or removed selection.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite365.zip">Release 3.6.5</a>
</h3>
<ul>
<li>
Released 26 April 2016.
</li>
<li>
JSON lexer added.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1140/">Feature #1140.</a>
</li>
<li>
The C++ lexer fixes a bug with multi-line strings with line continuation where the string style
overflowed after an edit.
<a href="https://sourceforge.net/p/scintilla/bugs/1824/">Bug #1824</a>.
</li>
<li>
The Python lexer treats '@' as an operator except when it is the first visible character on a line.
This is for Python 3.5.
</li>
<li>
The Rust lexer allows '?' as an operator.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1146/">Feature #1146.</a>
</li>
<li>
Doubled size of compiled regex buffer.
<a href="https://sourceforge.net/p/scintilla/bugs/1822/">Bug #1822</a>.
</li>
<li>
For GTK+, the Super modifier key can be used in key bindings.
<a href="https://sourceforge.net/p/scintilla/feature-requests/1142/">Feature #1142.</a>
</li>
<li>
For GTK+, fix some crashes when using multiple threads.
</li>
<li>
Platform layer font cache removed on GTK+ as platform-independent caches are used.
This avoids the use of thread locking and initialization of threads so any GTK+
applications that rely on Scintilla initializing threads will have to do that themselves.
</li>
<li>
SciTE bug fixed with exported HTML where extra line shown.
<a href="https://sourceforge.net/p/scintilla/bugs/1816/">Bug #1816</a>.
</li>
<li>
SciTE on Windows fixes bugs with pop-up menus in the find and replace strips.
For the replace strip, menu choices change the state.
For the find strip, menu choices are reflected in the appearance of their corresponding buttons.
</li>
<li>
SciTE on Windows on high DPI displays fixes the height of edit boxes in user strips.
</li>
</ul>
<h3>
<a href="https://www.scintilla.org/scite364.zip">Release 3.6.4</a>
</h3>
<ul>
<li>
Released 13 March 2016.
</li>
<li>
SciTE allows setting the autocompletion type separator character.
</li>
<li>
The C++ folder fold
gitextract_ht4415_4/ ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── build-check-macos.yml │ ├── build-check-win32.yml │ └── build-check.yml ├── .gitignore ├── .travis.yml ├── CONTRIBUTING ├── License.txt ├── README ├── access/ │ ├── LexillaAccess.cxx │ ├── LexillaAccess.h │ └── README ├── bin/ │ └── empty.txt ├── cppcheck.suppress ├── delbin.bat ├── doc/ │ ├── Lexilla.html │ ├── LexillaDoc.html │ ├── LexillaDownload.html │ └── LexillaHistory.html ├── examples/ │ ├── CheckLexilla/ │ │ ├── CheckLexilla.c │ │ └── makefile │ └── SimpleLexer/ │ ├── SimpleLexer.cxx │ └── makefile ├── include/ │ ├── LexicalStyles.iface │ ├── Lexilla.h │ └── SciLexer.h ├── lexers/ │ ├── LexA68k.cxx │ ├── LexAPDL.cxx │ ├── LexASY.cxx │ ├── LexAU3.cxx │ ├── LexAVE.cxx │ ├── LexAVS.cxx │ ├── LexAbaqus.cxx │ ├── LexAda.cxx │ ├── LexAsciidoc.cxx │ ├── LexAsm.cxx │ ├── LexAsn1.cxx │ ├── LexBaan.cxx │ ├── LexBash.cxx │ ├── LexBasic.cxx │ ├── LexBatch.cxx │ ├── LexBibTeX.cxx │ ├── LexBullant.cxx │ ├── LexCIL.cxx │ ├── LexCLW.cxx │ ├── LexCOBOL.cxx │ ├── LexCPP.cxx │ ├── LexCSS.cxx │ ├── LexCaml.cxx │ ├── LexCmake.cxx │ ├── LexCoffeeScript.cxx │ ├── LexConf.cxx │ ├── LexCrontab.cxx │ ├── LexCsound.cxx │ ├── LexD.cxx │ ├── LexDMAP.cxx │ ├── LexDMIS.cxx │ ├── LexDart.cxx │ ├── LexDataflex.cxx │ ├── LexDiff.cxx │ ├── LexECL.cxx │ ├── LexEDIFACT.cxx │ ├── LexEScript.cxx │ ├── LexEiffel.cxx │ ├── LexErlang.cxx │ ├── LexErrorList.cxx │ ├── LexEscSeq.cxx │ ├── LexFSharp.cxx │ ├── LexFlagship.cxx │ ├── LexForth.cxx │ ├── LexFortran.cxx │ ├── LexGAP.cxx │ ├── LexGDScript.cxx │ ├── LexGui4Cli.cxx │ ├── LexHTML.cxx │ ├── LexHaskell.cxx │ ├── LexHex.cxx │ ├── LexHollywood.cxx │ ├── LexIndent.cxx │ ├── LexInno.cxx │ ├── LexJSON.cxx │ ├── LexJulia.cxx │ ├── LexKVIrc.cxx │ ├── LexKix.cxx │ ├── LexLaTeX.cxx │ ├── LexLisp.cxx │ ├── LexLout.cxx │ ├── LexLua.cxx │ ├── LexMMIXAL.cxx │ ├── LexMPT.cxx │ ├── LexMSSQL.cxx │ ├── LexMagik.cxx │ ├── LexMake.cxx │ ├── LexMarkdown.cxx │ ├── LexMatlab.cxx │ ├── LexMaxima.cxx │ ├── LexMetapost.cxx │ ├── LexModula.cxx │ ├── LexMySQL.cxx │ ├── LexNim.cxx │ ├── LexNimrod.cxx │ ├── LexNix.cxx │ ├── LexNsis.cxx │ ├── LexNull.cxx │ ├── LexOScript.cxx │ ├── LexOpal.cxx │ ├── LexPB.cxx │ ├── LexPLM.cxx │ ├── LexPO.cxx │ ├── LexPOV.cxx │ ├── LexPS.cxx │ ├── LexPascal.cxx │ ├── LexPerl.cxx │ ├── LexPowerPro.cxx │ ├── LexPowerShell.cxx │ ├── LexProgress.cxx │ ├── LexProps.cxx │ ├── LexPython.cxx │ ├── LexR.cxx │ ├── LexRaku.cxx │ ├── LexRebol.cxx │ ├── LexRegistry.cxx │ ├── LexRuby.cxx │ ├── LexRust.cxx │ ├── LexSAS.cxx │ ├── LexSINEX.cxx │ ├── LexSML.cxx │ ├── LexSQL.cxx │ ├── LexSTTXT.cxx │ ├── LexScriptol.cxx │ ├── LexSmalltalk.cxx │ ├── LexSorcus.cxx │ ├── LexSpecman.cxx │ ├── LexSpice.cxx │ ├── LexStata.cxx │ ├── LexTACL.cxx │ ├── LexTADS3.cxx │ ├── LexTAL.cxx │ ├── LexTCL.cxx │ ├── LexTCMD.cxx │ ├── LexTOML.cxx │ ├── LexTeX.cxx │ ├── LexTroff.cxx │ ├── LexTxt2tags.cxx │ ├── LexVB.cxx │ ├── LexVHDL.cxx │ ├── LexVerilog.cxx │ ├── LexVisualProlog.cxx │ ├── LexX12.cxx │ ├── LexYAML.cxx │ └── LexZig.cxx ├── lexlib/ │ ├── Accessor.cxx │ ├── Accessor.h │ ├── CatalogueModules.h │ ├── CharacterCategory.cxx │ ├── CharacterCategory.h │ ├── CharacterSet.cxx │ ├── CharacterSet.h │ ├── DefaultLexer.cxx │ ├── DefaultLexer.h │ ├── InList.cxx │ ├── InList.h │ ├── LexAccessor.cxx │ ├── LexAccessor.h │ ├── LexerBase.cxx │ ├── LexerBase.h │ ├── LexerModule.cxx │ ├── LexerModule.h │ ├── LexerSimple.cxx │ ├── LexerSimple.h │ ├── OptionSet.h │ ├── PropSetSimple.cxx │ ├── PropSetSimple.h │ ├── SparseState.h │ ├── StringCopy.h │ ├── StyleContext.cxx │ ├── StyleContext.h │ ├── SubStyles.h │ ├── WordList.cxx │ └── WordList.h ├── scripts/ │ ├── HeaderOrder.txt │ ├── LexFacer.py │ ├── LexillaData.py │ ├── LexillaGen.py │ ├── LexillaLogo.py │ ├── PromoteNew.bat │ ├── RunTest.bat │ └── RunTest.sh ├── src/ │ ├── DepGen.py │ ├── Lexilla/ │ │ ├── Info.plist │ │ └── Lexilla.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── Lexilla.cxx │ ├── Lexilla.def │ ├── Lexilla.pro │ ├── Lexilla.ruleset │ ├── Lexilla.vcxproj │ ├── LexillaVersion.rc │ ├── deps.mak │ ├── lexilla.mak │ ├── makefile │ └── nmdeps.mak ├── test/ │ ├── Metadata/ │ │ ├── CheckMeta.py │ │ ├── Metadata.cxx │ │ ├── lexerMetadata.txt │ │ └── makefile │ ├── README │ ├── TestDocument.cxx │ ├── TestDocument.h │ ├── TestLexers.cxx │ ├── TestLexers.vcxproj │ ├── examples/ │ │ ├── asciidoc/ │ │ │ ├── AllStyles.adoc │ │ │ ├── AllStyles.adoc.folded │ │ │ ├── AllStyles.adoc.styled │ │ │ └── SciTE.properties │ │ ├── asm/ │ │ │ ├── AllStyles.asm │ │ │ ├── AllStyles.asm.folded │ │ │ ├── AllStyles.asm.styled │ │ │ └── SciTE.properties │ │ ├── bash/ │ │ │ ├── 197ArithmeticOperator.bsh │ │ │ ├── 197ArithmeticOperator.bsh.folded │ │ │ ├── 197ArithmeticOperator.bsh.styled │ │ │ ├── 199Numbers.bsh │ │ │ ├── 199Numbers.bsh.folded │ │ │ ├── 199Numbers.bsh.styled │ │ │ ├── 202LineStartOption.bsh │ │ │ ├── 202LineStartOption.bsh.folded │ │ │ ├── 202LineStartOption.bsh.styled │ │ │ ├── 203TestOption.bsh │ │ │ ├── 203TestOption.bsh.folded │ │ │ ├── 203TestOption.bsh.styled │ │ │ ├── 257Delimiter.bsh │ │ │ ├── 257Delimiter.bsh.folded │ │ │ ├── 257Delimiter.bsh.styled │ │ │ ├── AllStyles.bsh │ │ │ ├── AllStyles.bsh.folded │ │ │ ├── AllStyles.bsh.styled │ │ │ ├── Issue180.bsh │ │ │ ├── Issue180.bsh.folded │ │ │ ├── Issue180.bsh.styled │ │ │ ├── Issue182.bsh │ │ │ ├── Issue182.bsh.folded │ │ │ ├── Issue182.bsh.styled │ │ │ ├── Issue184.bsh │ │ │ ├── Issue184.bsh.folded │ │ │ ├── Issue184.bsh.styled │ │ │ ├── Issue184Copy.bsh │ │ │ ├── Issue184Copy.bsh.folded │ │ │ ├── Issue184Copy.bsh.styled │ │ │ ├── Nested.bsh │ │ │ ├── Nested.bsh.folded │ │ │ ├── Nested.bsh.styled │ │ │ ├── NestedRich.bsh │ │ │ ├── NestedRich.bsh.folded │ │ │ ├── NestedRich.bsh.styled │ │ │ ├── NestedStyledInside.bsh │ │ │ ├── NestedStyledInside.bsh.folded │ │ │ ├── NestedStyledInside.bsh.styled │ │ │ ├── SciTE.properties │ │ │ ├── continuation.bsh │ │ │ ├── continuation.bsh.folded │ │ │ ├── continuation.bsh.styled │ │ │ ├── hash.zsh │ │ │ ├── hash.zsh.folded │ │ │ ├── hash.zsh.styled │ │ │ ├── x.bsh │ │ │ ├── x.bsh.folded │ │ │ └── x.bsh.styled │ │ ├── batch/ │ │ │ ├── Issue115.bat │ │ │ ├── Issue115.bat.folded │ │ │ ├── Issue115.bat.styled │ │ │ ├── Issue222.bat │ │ │ ├── Issue222.bat.folded │ │ │ ├── Issue222.bat.styled │ │ │ ├── SciTE.properties │ │ │ ├── x.bat │ │ │ ├── x.bat.folded │ │ │ └── x.bat.styled │ │ ├── caml/ │ │ │ ├── AllStyles.ml │ │ │ ├── AllStyles.ml.folded │ │ │ ├── AllStyles.ml.styled │ │ │ └── SciTE.properties │ │ ├── cmake/ │ │ │ ├── Bug77_0.cmake │ │ │ ├── Bug77_0.cmake.folded │ │ │ ├── Bug77_0.cmake.styled │ │ │ ├── Bug77_1.cmake │ │ │ ├── Bug77_1.cmake.folded │ │ │ ├── Bug77_1.cmake.styled │ │ │ └── SciTE.properties │ │ ├── cobol/ │ │ │ ├── 229.cob │ │ │ ├── 229.cob.folded │ │ │ ├── 229.cob.styled │ │ │ ├── 230.cob │ │ │ ├── 230.cob.folded │ │ │ ├── 230.cob.styled │ │ │ ├── 231.cob │ │ │ ├── 231.cob.folded │ │ │ ├── 231.cob.styled │ │ │ ├── AllStyles.cob │ │ │ ├── AllStyles.cob.folded │ │ │ ├── AllStyles.cob.styled │ │ │ └── SciTE.properties │ │ ├── cpp/ │ │ │ ├── 130NonAsciiKeyword.cxx │ │ │ ├── 130NonAsciiKeyword.cxx.folded │ │ │ ├── 130NonAsciiKeyword.cxx.styled │ │ │ ├── 149KeywordCase.cxx │ │ │ ├── 149KeywordCase.cxx.folded │ │ │ ├── 149KeywordCase.cxx.styled │ │ │ ├── 48HashNotPreProcessor.cxx │ │ │ ├── 48HashNotPreProcessor.cxx.folded │ │ │ ├── 48HashNotPreProcessor.cxx.styled │ │ │ ├── 94Template.cxx │ │ │ ├── 94Template.cxx.folded │ │ │ ├── 94Template.cxx.styled │ │ │ ├── AllStyles.cxx │ │ │ ├── AllStyles.cxx.folded │ │ │ ├── AllStyles.cxx.styled │ │ │ ├── Bug2245.cxx │ │ │ ├── Bug2245.cxx.folded │ │ │ ├── Bug2245.cxx.styled │ │ │ ├── SciTE.properties │ │ │ ├── x.cxx │ │ │ ├── x.cxx.folded │ │ │ └── x.cxx.styled │ │ ├── css/ │ │ │ ├── AllStyles.css │ │ │ ├── AllStyles.css.folded │ │ │ ├── AllStyles.css.styled │ │ │ └── SciTE.properties │ │ ├── d/ │ │ │ ├── SciTE.properties │ │ │ ├── x.d │ │ │ ├── x.d.folded │ │ │ └── x.d.styled │ │ ├── dart/ │ │ │ ├── AllStyles.dart │ │ │ ├── AllStyles.dart.folded │ │ │ ├── AllStyles.dart.styled │ │ │ └── SciTE.properties │ │ ├── diff/ │ │ │ ├── AllStyles.diff │ │ │ ├── AllStyles.diff.folded │ │ │ ├── AllStyles.diff.styled │ │ │ ├── LongLine.diff │ │ │ ├── LongLine.diff.folded │ │ │ ├── LongLine.diff.styled │ │ │ └── SciTE.properties │ │ ├── erlang/ │ │ │ ├── AllStyles.erl │ │ │ ├── AllStyles.erl.folded │ │ │ ├── AllStyles.erl.styled │ │ │ └── SciTE.properties │ │ ├── errorlist/ │ │ │ ├── AllStyles.err │ │ │ ├── AllStyles.err.folded │ │ │ ├── AllStyles.err.styled │ │ │ ├── BoldOrBright.err │ │ │ ├── BoldOrBright.err.folded │ │ │ ├── BoldOrBright.err.styled │ │ │ └── SciTE.properties │ │ ├── escseq/ │ │ │ ├── SciTE.properties │ │ │ ├── colourText0.ans │ │ │ ├── colourText0.ans.folded │ │ │ ├── colourText0.ans.styled │ │ │ ├── colourText1.ans │ │ │ ├── colourText1.ans.folded │ │ │ └── colourText1.ans.styled │ │ ├── forth/ │ │ │ ├── AllStyles.forth │ │ │ ├── AllStyles.forth.folded │ │ │ ├── AllStyles.forth.styled │ │ │ ├── Issue351.forth │ │ │ ├── Issue351.forth.folded │ │ │ ├── Issue351.forth.styled │ │ │ └── SciTE.properties │ │ ├── fortran/ │ │ │ ├── AllStyles.f │ │ │ ├── AllStyles.f.folded │ │ │ ├── AllStyles.f.styled │ │ │ └── SciTE.properties │ │ ├── fsharp/ │ │ │ ├── FmtSpecs.fs │ │ │ ├── FmtSpecs.fs.folded │ │ │ ├── FmtSpecs.fs.styled │ │ │ ├── Issue352.fs │ │ │ ├── Issue352.fs.folded │ │ │ ├── Issue352.fs.styled │ │ │ ├── Issue56.fs │ │ │ ├── Issue56.fs.folded │ │ │ ├── Issue56.fs.styled │ │ │ ├── Issue93.fs │ │ │ ├── Issue93.fs.folded │ │ │ ├── Issue93.fs.styled │ │ │ ├── Literals.fs │ │ │ ├── Literals.fs.folded │ │ │ ├── Literals.fs.styled │ │ │ ├── SciTE.properties │ │ │ ├── x.fs │ │ │ ├── x.fs.folded │ │ │ └── x.fs.styled │ │ ├── gdscript/ │ │ │ ├── AllStyles.gd │ │ │ ├── AllStyles.gd.folded │ │ │ ├── AllStyles.gd.styled │ │ │ ├── NodePath.gd │ │ │ ├── NodePath.gd.folded │ │ │ ├── NodePath.gd.styled │ │ │ └── SciTE.properties │ │ ├── gui4cli/ │ │ │ ├── AllStyles.gui │ │ │ ├── AllStyles.gui.folded │ │ │ ├── AllStyles.gui.styled │ │ │ └── SciTE.properties │ │ ├── hypertext/ │ │ │ ├── Bug2207.html │ │ │ ├── Bug2207.html.folded │ │ │ ├── Bug2207.html.styled │ │ │ ├── Bug2219.html │ │ │ ├── Bug2219.html.folded │ │ │ ├── Bug2219.html.styled │ │ │ ├── Issue19.php │ │ │ ├── Issue19.php.folded │ │ │ ├── Issue19.php.styled │ │ │ ├── Issue192.html │ │ │ ├── Issue192.html.folded │ │ │ ├── Issue192.html.styled │ │ │ ├── Issue20Numbers.php │ │ │ ├── Issue20Numbers.php.folded │ │ │ ├── Issue20Numbers.php.styled │ │ │ ├── Issue250RegEx.html │ │ │ ├── Issue250RegEx.html.folded │ │ │ ├── Issue250RegEx.html.styled │ │ │ ├── Issue252Tag.php │ │ │ ├── Issue252Tag.php.folded │ │ │ ├── Issue252Tag.php.styled │ │ │ ├── Issue259CaseLower.html │ │ │ ├── Issue259CaseLower.html.folded │ │ │ ├── Issue259CaseLower.html.styled │ │ │ ├── Issue272SGML.xml │ │ │ ├── Issue272SGML.xml.folded │ │ │ ├── Issue272SGML.xml.styled │ │ │ ├── Issue273JavaScript.html │ │ │ ├── Issue273JavaScript.html.folded │ │ │ ├── Issue273JavaScript.html.styled │ │ │ ├── Issue288.php │ │ │ ├── Issue288.php.folded │ │ │ ├── Issue288.php.styled │ │ │ ├── Issue338.html │ │ │ ├── Issue338.html.folded │ │ │ ├── Issue338.html.styled │ │ │ ├── Issue340BadSGML.html │ │ │ ├── Issue340BadSGML.html.folded │ │ │ ├── Issue340BadSGML.html.styled │ │ │ ├── Issue47.html │ │ │ ├── Issue47.html.folded │ │ │ ├── Issue47.html.styled │ │ │ ├── Issue53.html │ │ │ ├── Issue53.html.folded │ │ │ ├── Issue53.html.styled │ │ │ ├── SciTE.properties │ │ │ ├── ServerBasic.aspx │ │ │ ├── ServerBasic.aspx.folded │ │ │ ├── ServerBasic.aspx.styled │ │ │ ├── ServerJavaScript.aspx │ │ │ ├── ServerJavaScript.aspx.folded │ │ │ ├── ServerJavaScript.aspx.styled │ │ │ ├── apostophe.php │ │ │ ├── apostophe.php.folded │ │ │ ├── apostophe.php.styled │ │ │ ├── comment.html │ │ │ ├── comment.html.folded │ │ │ ├── comment.html.styled │ │ │ ├── mako.html │ │ │ ├── mako.html.folded │ │ │ ├── mako.html.styled │ │ │ ├── x.asp │ │ │ ├── x.asp.folded │ │ │ ├── x.asp.styled │ │ │ ├── x.html │ │ │ ├── x.html.folded │ │ │ ├── x.html.styled │ │ │ ├── x.php │ │ │ ├── x.php.folded │ │ │ └── x.php.styled │ │ ├── inno/ │ │ │ ├── SciTE.properties │ │ │ ├── x.iss │ │ │ ├── x.iss.folded │ │ │ └── x.iss.styled │ │ ├── json/ │ │ │ ├── AllStyles.json │ │ │ ├── AllStyles.json.folded │ │ │ ├── AllStyles.json.styled │ │ │ ├── SciTE.properties │ │ │ ├── embedded_0.json │ │ │ ├── embedded_0.json.folded │ │ │ ├── embedded_0.json.styled │ │ │ ├── embedded_1.json │ │ │ ├── embedded_1.json.folded │ │ │ ├── embedded_1.json.styled │ │ │ ├── processed_0.json │ │ │ ├── processed_0.json.folded │ │ │ ├── processed_0.json.styled │ │ │ ├── processed_esc_0.json │ │ │ ├── processed_esc_0.json.folded │ │ │ ├── processed_esc_0.json.styled │ │ │ ├── processed_esc_1.json │ │ │ ├── processed_esc_1.json.folded │ │ │ └── processed_esc_1.json.styled │ │ ├── julia/ │ │ │ ├── SciTE.properties │ │ │ ├── x.jl │ │ │ ├── x.jl.folded │ │ │ └── x.jl.styled │ │ ├── latex/ │ │ │ ├── AllStyles.tex │ │ │ ├── AllStyles.tex.folded │ │ │ ├── AllStyles.tex.styled │ │ │ ├── CornerCases.tex │ │ │ ├── CornerCases.tex.folded │ │ │ ├── CornerCases.tex.styled │ │ │ ├── EndOfFile1.tex │ │ │ ├── EndOfFile1.tex.folded │ │ │ ├── EndOfFile1.tex.styled │ │ │ ├── EndOfFile2.tex │ │ │ ├── EndOfFile2.tex.folded │ │ │ ├── EndOfFile2.tex.styled │ │ │ ├── EndOfFile3.tex │ │ │ ├── EndOfFile3.tex.folded │ │ │ ├── EndOfFile3.tex.styled │ │ │ ├── EndOfFile4.tex │ │ │ ├── EndOfFile4.tex.folded │ │ │ ├── EndOfFile4.tex.styled │ │ │ ├── EndOfFile5.tex │ │ │ ├── EndOfFile5.tex.folded │ │ │ ├── EndOfFile5.tex.styled │ │ │ ├── EndOfFile6.tex │ │ │ ├── EndOfFile6.tex.folded │ │ │ ├── EndOfFile6.tex.styled │ │ │ ├── EndOfFile7.tex │ │ │ ├── EndOfFile7.tex.folded │ │ │ ├── EndOfFile7.tex.styled │ │ │ ├── Feature1358.tex │ │ │ ├── Feature1358.tex.folded │ │ │ ├── Feature1358.tex.styled │ │ │ └── SciTE.properties │ │ ├── lua/ │ │ │ ├── AllStyles.lua │ │ │ ├── AllStyles.lua.folded │ │ │ ├── AllStyles.lua.styled │ │ │ ├── Bug2205.lua │ │ │ ├── Bug2205.lua.folded │ │ │ ├── Bug2205.lua.styled │ │ │ ├── SciTE.properties │ │ │ ├── folding.lua │ │ │ ├── folding.lua.folded │ │ │ ├── folding.lua.styled │ │ │ ├── nonASCII242.lua │ │ │ ├── nonASCII242.lua.folded │ │ │ ├── nonASCII242.lua.styled │ │ │ ├── x.lua │ │ │ ├── x.lua.folded │ │ │ └── x.lua.styled │ │ ├── makefile/ │ │ │ ├── 40Comment.mak │ │ │ ├── 40Comment.mak.folded │ │ │ ├── 40Comment.mak.styled │ │ │ ├── SciTE.properties │ │ │ ├── longline.mak │ │ │ ├── longline.mak.folded │ │ │ ├── longline.mak.styled │ │ │ ├── x.mak │ │ │ ├── x.mak.folded │ │ │ └── x.mak.styled │ │ ├── markdown/ │ │ │ ├── AllStyles.md │ │ │ ├── AllStyles.md.folded │ │ │ ├── AllStyles.md.styled │ │ │ ├── Bug1216.md │ │ │ ├── Bug1216.md.folded │ │ │ ├── Bug1216.md.styled │ │ │ ├── Bug2235.md │ │ │ ├── Bug2235.md.folded │ │ │ ├── Bug2235.md.styled │ │ │ ├── Bug2247.md │ │ │ ├── Bug2247.md.folded │ │ │ ├── Bug2247.md.styled │ │ │ ├── HeaderEOLFill_0.md │ │ │ ├── HeaderEOLFill_0.md.folded │ │ │ ├── HeaderEOLFill_0.md.styled │ │ │ ├── HeaderEOLFill_1.md │ │ │ ├── HeaderEOLFill_1.md.folded │ │ │ ├── HeaderEOLFill_1.md.styled │ │ │ ├── Issue117.md │ │ │ ├── Issue117.md.folded │ │ │ ├── Issue117.md.styled │ │ │ └── SciTE.properties │ │ ├── matlab/ │ │ │ ├── AllStyles.m.matlab │ │ │ ├── AllStyles.m.matlab.folded │ │ │ ├── AllStyles.m.matlab.styled │ │ │ ├── AllStyles.m.octave │ │ │ ├── AllStyles.m.octave.folded │ │ │ ├── AllStyles.m.octave.styled │ │ │ ├── ArgumentsBlock.m.matlab │ │ │ ├── ArgumentsBlock.m.matlab.folded │ │ │ ├── ArgumentsBlock.m.matlab.styled │ │ │ ├── ClassDefinition.m.matlab │ │ │ ├── ClassDefinition.m.matlab.folded │ │ │ ├── ClassDefinition.m.matlab.styled │ │ │ ├── FoldPoints.m.matlab │ │ │ ├── FoldPoints.m.matlab.folded │ │ │ ├── FoldPoints.m.matlab.styled │ │ │ ├── Issue18_EscapeSequence.m.matlab │ │ │ ├── Issue18_EscapeSequence.m.matlab.folded │ │ │ ├── Issue18_EscapeSequence.m.matlab.styled │ │ │ ├── Issue18_EscapeSequence.m.octave │ │ │ ├── Issue18_EscapeSequence.m.octave.folded │ │ │ ├── Issue18_EscapeSequence.m.octave.styled │ │ │ ├── NumericLiterals.m.matlab │ │ │ ├── NumericLiterals.m.matlab.folded │ │ │ ├── NumericLiterals.m.matlab.styled │ │ │ └── SciTE.properties │ │ ├── mmixal/ │ │ │ ├── AllStyles.mms │ │ │ ├── AllStyles.mms.folded │ │ │ ├── AllStyles.mms.styled │ │ │ ├── SciTE.properties │ │ │ ├── references.mms │ │ │ ├── references.mms.folded │ │ │ ├── references.mms.styled │ │ │ ├── x.mms │ │ │ ├── x.mms.folded │ │ │ └── x.mms.styled │ │ ├── modula/ │ │ │ ├── 128Endless.m3 │ │ │ ├── 128Endless.m3.folded │ │ │ ├── 128Endless.m3.styled │ │ │ ├── Issue129.m3 │ │ │ ├── Issue129.m3.folded │ │ │ ├── Issue129.m3.styled │ │ │ ├── Issue297.m3 │ │ │ ├── Issue297.m3.folded │ │ │ ├── Issue297.m3.styled │ │ │ └── SciTE.properties │ │ ├── mssql/ │ │ │ ├── AllStyles.tsql │ │ │ ├── AllStyles.tsql.folded │ │ │ ├── AllStyles.tsql.styled │ │ │ ├── Issue87.tsql │ │ │ ├── Issue87.tsql.folded │ │ │ ├── Issue87.tsql.styled │ │ │ ├── Issue90.tsql │ │ │ ├── Issue90.tsql.folded │ │ │ ├── Issue90.tsql.styled │ │ │ ├── SciTE.properties │ │ │ ├── Various.tsql │ │ │ ├── Various.tsql.folded │ │ │ └── Various.tsql.styled │ │ ├── mysql/ │ │ │ ├── AllStyles.sql │ │ │ ├── AllStyles.sql.folded │ │ │ ├── AllStyles.sql.styled │ │ │ └── SciTE.properties │ │ ├── nim/ │ │ │ ├── SciTE.properties │ │ │ ├── x.nim │ │ │ ├── x.nim.folded │ │ │ └── x.nim.styled │ │ ├── nix/ │ │ │ ├── AllStyles.nix │ │ │ ├── AllStyles.nix.folded │ │ │ ├── AllStyles.nix.styled │ │ │ └── SciTE.properties │ │ ├── pascal/ │ │ │ ├── AllStyles.pas │ │ │ ├── AllStyles.pas.folded │ │ │ ├── AllStyles.pas.styled │ │ │ ├── CodeFolding.pas │ │ │ ├── CodeFolding.pas.folded │ │ │ ├── CodeFolding.pas.styled │ │ │ ├── SciTE.properties │ │ │ ├── SomeExample.pas │ │ │ ├── SomeExample.pas.folded │ │ │ └── SomeExample.pas.styled │ │ ├── perl/ │ │ │ ├── SciTE.properties │ │ │ ├── class.pl │ │ │ ├── class.pl.folded │ │ │ ├── class.pl.styled │ │ │ ├── perl-test-5220delta.pl │ │ │ ├── perl-test-5220delta.pl.folded │ │ │ ├── perl-test-5220delta.pl.styled │ │ │ ├── perl-test-sub-prototypes.pl │ │ │ ├── perl-test-sub-prototypes.pl.folded │ │ │ ├── perl-test-sub-prototypes.pl.styled │ │ │ ├── x.pl │ │ │ ├── x.pl.folded │ │ │ └── x.pl.styled │ │ ├── powershell/ │ │ │ ├── AllStyles.ps1 │ │ │ ├── AllStyles.ps1.folded │ │ │ ├── AllStyles.ps1.styled │ │ │ ├── CharacterTruncation.ps1 │ │ │ ├── CharacterTruncation.ps1.folded │ │ │ ├── CharacterTruncation.ps1.styled │ │ │ ├── NumericLiterals.ps1 │ │ │ ├── NumericLiterals.ps1.folded │ │ │ ├── NumericLiterals.ps1.styled │ │ │ ├── Pull92.ps1 │ │ │ ├── Pull92.ps1.folded │ │ │ ├── Pull92.ps1.styled │ │ │ ├── Pull99Comment.ps1 │ │ │ ├── Pull99Comment.ps1.folded │ │ │ ├── Pull99Comment.ps1.styled │ │ │ └── SciTE.properties │ │ ├── progress/ │ │ │ ├── SciTE.properties │ │ │ ├── annotations.p │ │ │ ├── annotations.p.folded │ │ │ ├── annotations.p.styled │ │ │ ├── comment_test.p │ │ │ ├── comment_test.p.folded │ │ │ ├── comment_test.p.styled │ │ │ ├── compound_id.p │ │ │ ├── compound_id.p.folded │ │ │ └── compound_id.p.styled │ │ ├── props/ │ │ │ ├── Issue96Folding.props │ │ │ ├── Issue96Folding.props.folded │ │ │ ├── Issue96Folding.props.styled │ │ │ ├── SciTE.properties │ │ │ ├── example.session │ │ │ ├── example.session.folded │ │ │ └── example.session.styled │ │ ├── python/ │ │ │ ├── AllStyles.py │ │ │ ├── AllStyles.py.folded │ │ │ ├── AllStyles.py.styled │ │ │ ├── SciTE.properties │ │ │ ├── attributes/ │ │ │ │ ├── SciTE.properties │ │ │ │ ├── attrib-decorator.py │ │ │ │ ├── attrib-decorator.py.folded │ │ │ │ ├── attrib-decorator.py.styled │ │ │ │ ├── attrib-id.py │ │ │ │ ├── attrib-id.py.folded │ │ │ │ ├── attrib-id.py.styled │ │ │ │ ├── attributes.py │ │ │ │ ├── attributes.py.folded │ │ │ │ └── attributes.py.styled │ │ │ ├── f-strings.py │ │ │ ├── f-strings.py.folded │ │ │ ├── f-strings.py.styled │ │ │ ├── matchcase.py │ │ │ ├── matchcase.py.folded │ │ │ ├── matchcase.py.styled │ │ │ ├── strings.py │ │ │ ├── strings.py.folded │ │ │ ├── strings.py.styled │ │ │ ├── t-strings.py │ │ │ ├── t-strings.py.folded │ │ │ ├── t-strings.py.styled │ │ │ ├── x.py │ │ │ ├── x.py.folded │ │ │ └── x.py.styled │ │ ├── r/ │ │ │ ├── 102Backticks.r │ │ │ ├── 102Backticks.r.folded │ │ │ ├── 102Backticks.r.styled │ │ │ ├── AllStyles.r │ │ │ ├── AllStyles.r.folded │ │ │ ├── AllStyles.r.styled │ │ │ └── SciTE.properties │ │ ├── raku/ │ │ │ ├── SciTE.properties │ │ │ ├── x.p6 │ │ │ ├── x.p6.folded │ │ │ └── x.p6.styled │ │ ├── ruby/ │ │ │ ├── 225NumberDotMethod.rb │ │ │ ├── 225NumberDotMethod.rb.folded │ │ │ ├── 225NumberDotMethod.rb.styled │ │ │ ├── 234HereDoc.rb │ │ │ ├── 234HereDoc.rb.folded │ │ │ ├── 234HereDoc.rb.styled │ │ │ ├── AllStyles.rb │ │ │ ├── AllStyles.rb.folded │ │ │ ├── AllStyles.rb.styled │ │ │ ├── Issue132.rb │ │ │ ├── Issue132.rb.folded │ │ │ ├── Issue132.rb.styled │ │ │ ├── Issue135.rb │ │ │ ├── Issue135.rb.folded │ │ │ ├── Issue135.rb.styled │ │ │ ├── Issue136.rb │ │ │ ├── Issue136.rb.folded │ │ │ ├── Issue136.rb.styled │ │ │ ├── Issue140.rb │ │ │ ├── Issue140.rb.folded │ │ │ ├── Issue140.rb.styled │ │ │ ├── Issue65.rb │ │ │ ├── Issue65.rb.folded │ │ │ ├── Issue65.rb.styled │ │ │ ├── Issue66.rb │ │ │ ├── Issue66.rb.folded │ │ │ ├── Issue66.rb.styled │ │ │ ├── Issue67.rb │ │ │ ├── Issue67.rb.folded │ │ │ ├── Issue67.rb.styled │ │ │ ├── Issue69.rb │ │ │ ├── Issue69.rb.folded │ │ │ ├── Issue69.rb.styled │ │ │ ├── PercentEquals124.rb │ │ │ ├── PercentEquals124.rb.folded │ │ │ ├── PercentEquals124.rb.styled │ │ │ ├── SciTE.properties │ │ │ ├── x.rb │ │ │ ├── x.rb.folded │ │ │ └── x.rb.styled │ │ ├── rust/ │ │ │ ├── Issue239.rs │ │ │ ├── Issue239.rs.folded │ │ │ ├── Issue239.rs.styled │ │ │ ├── Issue268.rs │ │ │ ├── Issue268.rs.folded │ │ │ ├── Issue268.rs.styled │ │ │ ├── Issue33.rs │ │ │ ├── Issue33.rs.folded │ │ │ ├── Issue33.rs.styled │ │ │ ├── Issue34.rs │ │ │ ├── Issue34.rs.folded │ │ │ ├── Issue34.rs.styled │ │ │ ├── Issue35.rs │ │ │ ├── Issue35.rs.folded │ │ │ ├── Issue35.rs.styled │ │ │ └── SciTE.properties │ │ ├── sinex/ │ │ │ ├── AllStyles_comment_fold.snx │ │ │ ├── AllStyles_comment_fold.snx.folded │ │ │ ├── AllStyles_comment_fold.snx.styled │ │ │ ├── AllStyles_no_comment_fold.snx │ │ │ ├── AllStyles_no_comment_fold.snx.folded │ │ │ ├── AllStyles_no_comment_fold.snx.styled │ │ │ └── SciTE.properties │ │ ├── smalltalk/ │ │ │ ├── ClassificationTable.st │ │ │ ├── ClassificationTable.st.folded │ │ │ ├── ClassificationTable.st.styled │ │ │ └── SciTE.properties │ │ ├── sql/ │ │ │ ├── AllStyles.sql │ │ │ ├── AllStyles.sql.folded │ │ │ ├── AllStyles.sql.styled │ │ │ └── SciTE.properties │ │ ├── tcl/ │ │ │ ├── SciTE.properties │ │ │ ├── x.tcl │ │ │ ├── x.tcl.folded │ │ │ └── x.tcl.styled │ │ ├── toml/ │ │ │ ├── AllStyles.toml │ │ │ ├── AllStyles.toml.folded │ │ │ ├── AllStyles.toml.styled │ │ │ └── SciTE.properties │ │ ├── troff/ │ │ │ ├── AllStyles.roff │ │ │ ├── AllStyles.roff.folded │ │ │ ├── AllStyles.roff.styled │ │ │ └── SciTE.properties │ │ ├── vb/ │ │ │ ├── AllStyles.vb │ │ │ ├── AllStyles.vb.folded │ │ │ ├── AllStyles.vb.styled │ │ │ ├── AllStyles.vbs │ │ │ ├── AllStyles.vbs.folded │ │ │ ├── AllStyles.vbs.styled │ │ │ ├── SciTE.properties │ │ │ ├── x.vb │ │ │ ├── x.vb.folded │ │ │ └── x.vb.styled │ │ ├── verilog/ │ │ │ ├── AllStyles.vh │ │ │ ├── AllStyles.vh.folded │ │ │ ├── AllStyles.vh.styled │ │ │ └── SciTE.properties │ │ ├── vhdl/ │ │ │ ├── SciTE.properties │ │ │ ├── x.vhd │ │ │ ├── x.vhd.folded │ │ │ └── x.vhd.styled │ │ ├── visualprolog/ │ │ │ ├── AllStyles.pl │ │ │ ├── AllStyles.pl.folded │ │ │ ├── AllStyles.pl.styled │ │ │ ├── AllStyles.pro │ │ │ ├── AllStyles.pro.folded │ │ │ ├── AllStyles.pro.styled │ │ │ └── SciTE.properties │ │ ├── x12/ │ │ │ ├── SciTE.properties │ │ │ ├── empty.x12 │ │ │ ├── empty.x12.folded │ │ │ ├── empty.x12.styled │ │ │ ├── x.x12 │ │ │ ├── x.x12.folded │ │ │ └── x.x12.styled │ │ ├── yaml/ │ │ │ ├── 326-textOverEmpty.yaml │ │ │ ├── 326-textOverEmpty.yaml.folded │ │ │ ├── 326-textOverEmpty.yaml.styled │ │ │ ├── SciTE.properties │ │ │ ├── longline.yaml │ │ │ ├── longline.yaml.folded │ │ │ ├── longline.yaml.styled │ │ │ ├── x.yaml │ │ │ ├── x.yaml.folded │ │ │ └── x.yaml.styled │ │ └── zig/ │ │ ├── AllStyles.zig │ │ ├── AllStyles.zig.folded │ │ ├── AllStyles.zig.styled │ │ └── SciTE.properties │ ├── makefile │ ├── testlexers.mak │ └── unit/ │ ├── LICENSE_1_0.txt │ ├── README │ ├── Sci.natvis │ ├── SciTE.properties │ ├── UnitTester.cxx │ ├── UnitTester.vcxproj │ ├── catch.hpp │ ├── makefile │ ├── test.mak │ ├── testCharacterSet.cxx │ ├── testInList.cxx │ ├── testLexerSimple.cxx │ ├── testOptionSet.cxx │ ├── testPropSetSimple.cxx │ ├── testSparseState.cxx │ ├── testWordList.cxx │ └── unitTest.cxx ├── tgzsrc ├── version.txt └── zipsrc.bat
Copy disabled (too large)
Download .txt
Showing preview only (376,950K chars total). Download the full file to get everything.
SYMBOL INDEX (3573 symbols across 187 files)
FILE: access/LexillaAccess.cxx
function T (line 45) | T FunctionPointer(Function function) noexcept {
function WideStringFromUTF8 (line 54) | std::wstring WideStringFromUTF8(std::string_view sv) {
type LexLibrary (line 75) | struct LexLibrary {
function Function (line 87) | Function FindSymbol(Module m, const char *symbol) noexcept {
function NameContainsDot (line 97) | bool NameContainsDot(std::string_view path) noexcept {
function HasPrefix (line 108) | constexpr bool HasPrefix(std::string_view s, std::string_view prefix) no...
FILE: access/LexillaAccess.h
function namespace (line 12) | namespace Lexilla {
FILE: examples/CheckLexilla/CheckLexilla.c
type FARPROC (line 59) | typedef FARPROC Function;
type HMODULE (line 60) | typedef HMODULE Module;
function Function (line 66) | static Function FindSymbol(Module m, const char *symbol) {
function main (line 74) | int main(int argc, char *argv[]) {
FILE: examples/SimpleLexer/SimpleLexer.cxx
class LexerSimple (line 50) | class LexerSimple : public LexerBase {
method LexerSimple (line 52) | LexerSimple() {
method Lex (line 54) | void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int i...
method Fold (line 70) | void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int ...
method ILexer5 (line 73) | static ILexer5 *LexerFactorySimple() {
function EXPORT_FUNCTION (line 95) | EXPORT_FUNCTION int CALLING_CONVENTION GetLexerCount() {
function EXPORT_FUNCTION (line 99) | EXPORT_FUNCTION void CALLING_CONVENTION GetLexerName(unsigned int index,...
function EXPORT_FUNCTION (line 106) | EXPORT_FUNCTION LexerFactoryFunction CALLING_CONVENTION GetLexerFactory(...
function CreateLexer (line 113) | CreateLexer(const char *name) {
function EXPORT_FUNCTION (line 120) | EXPORT_FUNCTION const char * CALLING_CONVENTION GetNameSpace() {
FILE: include/Lexilla.h
type ILexer5 (line 48) | typedef void ILexer5;
type ILexer5 (line 51) | typedef ILexer5 *(*LexerFactoryFunction)(void);
type ILexer5 (line 60) | typedef ILexer5*(LEXILLA_CALL *CreateLexerFn)(const char *name);
function namespace (line 101) | namespace Lexilla {
FILE: lexers/LexA68k.cxx
function IsIdentifierStart (line 47) | static inline bool IsIdentifierStart (const int ch)
function IsIdentifierChar (line 59) | static inline bool IsIdentifierChar (const int ch)
function GetOperatorType (line 74) | static inline int GetOperatorType (const int ch1, const int ch2)
function IsBin (line 95) | static inline bool IsBin (const int ch)
function IsDoxygenChar (line 107) | static inline bool IsDoxygenChar (const int ch)
function ColouriseA68kDoc (line 119) | static void ColouriseA68kDoc (Sci_PositionU startPos, Sci_Position lengt...
FILE: lexers/LexAPDL.cxx
function IsAWordChar (line 32) | static inline bool IsAWordChar(const int ch) {
function IsAnOperator (line 36) | static inline bool IsAnOperator(char ch) {
function ColouriseAPDLDoc (line 47) | static void ColouriseAPDLDoc(Sci_PositionU startPos, Sci_Position length...
function IsSpace (line 159) | static bool IsSpace(int c) {
function IsIdentifier (line 163) | static bool IsIdentifier(int c) {
function LowerCase (line 167) | static int LowerCase(int c)
function CheckAPDLFoldPoint (line 174) | static int CheckAPDLFoldPoint(char const *token, int &level) {
function FoldAPDLDoc (line 188) | static void FoldAPDLDoc(Sci_PositionU startPos, Sci_Position length, int,
FILE: lexers/LexASY.cxx
function ColouriseAsyDoc (line 30) | static void ColouriseAsyDoc(Sci_PositionU startPos, Sci_Position length,...
function IsAsyCommentStyle (line 149) | static bool IsAsyCommentStyle(int style) {
function isASYidentifier (line 154) | static inline bool isASYidentifier(int ch) {
function ParseASYWord (line 159) | static int ParseASYWord(Sci_PositionU pos, Accessor &styler, char *word)
function IsASYDrawingLine (line 174) | static bool IsASYDrawingLine(Sci_Position line, Accessor &styler) {
function FoldAsyDoc (line 193) | static void FoldAsyDoc(Sci_PositionU startPos, Sci_Position length, int ...
FILE: lexers/LexAU3.cxx
function IsTypeCharacter (line 76) | static inline bool IsTypeCharacter(const int ch)
function IsAWordChar (line 80) | static inline bool IsAWordChar(const int ch)
function IsAWordStart (line 85) | static inline bool IsAWordStart(const int ch)
function IsAOperator (line 90) | static inline bool IsAOperator(char ch) {
function GetSendKey (line 106) | static int GetSendKey(const char *szLine, char *szKey)
function IsContinuationLine (line 174) | static bool IsContinuationLine(Sci_PositionU szLine, Accessor &styler)
function ColouriseAU3Doc (line 199) | static void ColouriseAU3Doc(Sci_PositionU startPos,
function IsStreamCommentStyle (line 656) | static bool IsStreamCommentStyle(int style) {
function GetStyleFirstWord (line 663) | static int GetStyleFirstWord(Sci_PositionU szLine, Accessor &styler)
function FoldAU3Doc (line 678) | static void FoldAU3Doc(Sci_PositionU startPos, Sci_Position length, int,...
FILE: lexers/LexAVE.cxx
function IsAWordChar (line 34) | static inline bool IsAWordChar(const int ch) {
function IsEnumChar (line 37) | static inline bool IsEnumChar(const int ch) {
function IsANumberChar (line 40) | static inline bool IsANumberChar(const int ch) {
function IsAWordStart (line 44) | inline bool IsAWordStart(const int ch) {
function isAveOperator (line 48) | inline bool isAveOperator(char ch) {
function ColouriseAveDoc (line 62) | static void ColouriseAveDoc(
function FoldAveDoc (line 161) | static void FoldAveDoc(Sci_PositionU startPos, Sci_Position length, int ...
FILE: lexers/LexAVS.cxx
function IsAWordChar (line 32) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 36) | static inline bool IsAWordStart(int ch) {
function IsANumberChar (line 40) | static inline bool IsANumberChar(int ch) {
function ColouriseAvsDoc (line 47) | static void ColouriseAvsDoc(
function FoldAvsDoc (line 211) | static void FoldAvsDoc(
FILE: lexers/LexAbaqus.cxx
function IsAKeywordChar (line 34) | static inline bool IsAKeywordChar(const int ch) {
function IsASetChar (line 38) | static inline bool IsASetChar(const int ch) {
function ColouriseABAQUSDoc (line 42) | static void ColouriseABAQUSDoc(Sci_PositionU startPos, Sci_Position leng...
function IsSpace (line 290) | static bool IsSpace(int c) {
function IsIdentifier (line 294) | static bool IsIdentifier(int c) {
function LowerCase (line 298) | static int LowerCase(int c)
function Sci_Position (line 305) | static Sci_Position LineEnd(Sci_Position line, Accessor &styler)
function Sci_Position (line 318) | static Sci_Position LineStart(Sci_Position line, Accessor &styler)
function LineType (line 334) | static int LineType(Sci_Position line, Accessor &styler) {
function SafeSetLevel (line 422) | static void SafeSetLevel(Sci_Position line, int level, Accessor &styler)
function FoldABAQUSDoc (line 436) | static void FoldABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int,
FILE: lexers/LexAda.cxx
function ColouriseCharacter (line 73) | static void ColouriseCharacter(StyleContext& sc, bool& apostropheStartsA...
function ColouriseContext (line 86) | static void ColouriseContext(StyleContext& sc, char chEnd, int stateEOL) {
function ColouriseComment (line 98) | static void ColouriseComment(StyleContext& sc, bool& /*apostropheStartsA...
function ColouriseDelimiter (line 108) | static void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsA...
function ColouriseLabel (line 114) | static void ColouriseLabel(StyleContext& sc, WordList& keywords, bool& a...
function ColouriseNumber (line 147) | static void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttr...
function ColouriseString (line 179) | static void ColouriseString(StyleContext& sc, bool& apostropheStartsAttr...
function ColouriseWhiteSpace (line 188) | static void ColouriseWhiteSpace(StyleContext& sc, bool& /*apostropheStar...
function ColouriseWord (line 194) | static void ColouriseWord(StyleContext& sc, WordList& keywords, bool& ap...
function ColouriseDocument (line 223) | static void ColouriseDocument(
function IsDelimiterCharacter (line 286) | static inline bool IsDelimiterCharacter(int ch) {
function IsSeparatorOrDelimiterCharacter (line 310) | static inline bool IsSeparatorOrDelimiterCharacter(int ch) {
function IsValidIdentifier (line 314) | static bool IsValidIdentifier(const std::string& identifier) {
function IsValidNumber (line 348) | static bool IsValidNumber(const std::string& number) {
function IsWordCharacter (line 508) | static inline bool IsWordCharacter(int ch) {
function IsWordStartCharacter (line 512) | static inline bool IsWordStartCharacter(int ch) {
FILE: lexers/LexAsciidoc.cxx
function IsNewline (line 75) | constexpr bool IsNewline(const int ch) {
function AtTermStart (line 82) | static bool AtTermStart(StyleContext &sc) {
function ColorizeAsciidocDoc (line 86) | static void ColorizeAsciidocDoc(Sci_PositionU startPos, Sci_Position len...
FILE: lexers/LexAsm.cxx
function IsAWordChar (line 41) | bool IsAWordChar(const int ch) noexcept {
function IsAWordStart (line 45) | bool IsAWordStart(const int ch) noexcept {
function IsAsmOperator (line 50) | bool IsAsmOperator(const int ch) noexcept {
function IsStreamCommentStyle (line 57) | constexpr bool IsStreamCommentStyle(int style) noexcept {
type OptionsAsm (line 64) | struct OptionsAsm {
method Delimiter (line 75) | [[nodiscard]] char Delimiter() const noexcept {
type OptionSetAsm (line 92) | struct OptionSetAsm : public OptionSet<OptionsAsm> {
method OptionSetAsm (line 93) | OptionSetAsm() {
class LexerAsm (line 170) | class LexerAsm : public DefaultLexer {
method LexerAsm (line 183) | LexerAsm(const char *languageName_, int language_, char commentChar_) :
method Release (line 189) | void SCI_METHOD Release() override {
method Version (line 192) | int SCI_METHOD Version() const override {
method PropertyType (line 198) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 219) | static ILexer5 *LexerFactoryAsm() {
method ILexer5 (line 223) | static ILexer5 *LexerFactoryAs() {
function Sci_Position (line 228) | Sci_Position SCI_METHOD LexerAsm::PropertySet(const char *key, const cha...
function Sci_Position (line 235) | Sci_Position SCI_METHOD LexerAsm::WordListSet(int n, const char *wl) {
FILE: lexers/LexAsn1.cxx
function isAsn1Number (line 32) | static bool isAsn1Number(int ch)
function isAsn1Letter (line 37) | static bool isAsn1Letter(int ch)
function isAsn1Char (line 42) | static bool isAsn1Char(int ch)
function ColouriseAsn1Doc (line 51) | static void ColouriseAsn1Doc(Sci_PositionU startPos, Sci_Position length...
function FoldAsn1Doc (line 172) | static void FoldAsn1Doc(Sci_PositionU, Sci_Position, int, WordList *[], ...
FILE: lexers/LexBaan.cxx
type OptionsBaan (line 48) | struct OptionsBaan {
method OptionsBaan (line 58) | OptionsBaan() {
type OptionSetBaan (line 83) | struct OptionSetBaan : public OptionSet<OptionsBaan> {
method OptionSetBaan (line 84) | OptionSetBaan() {
function IsAWordChar (line 117) | static inline bool IsAWordChar(const int ch) {
function IsAnOperator (line 121) | static inline bool IsAnOperator(int ch) {
function IsAnyOtherIdentifier (line 135) | static inline int IsAnyOtherIdentifier(char *s, Sci_Position sLength) {
function IsCommentLine (line 211) | static bool IsCommentLine(Sci_Position line, LexAccessor &styler) {
function IsPreProcLine (line 225) | static bool IsPreProcLine(Sci_Position line, LexAccessor &styler) {
function mainOrSubSectionLine (line 247) | static int mainOrSubSectionLine(Sci_Position line, LexAccessor &styler) {
function priorSectionIsSubSection (line 263) | static bool priorSectionIsSubSection(Sci_Position line, LexAccessor &sty...
function nextSectionIsSubSection (line 284) | static bool nextSectionIsSubSection(Sci_Position line, LexAccessor &styl...
function IsDeclarationLine (line 305) | static bool IsDeclarationLine(Sci_Position line, LexAccessor &styler) {
function IsInnerLevelFold (line 337) | static bool IsInnerLevelFold(Sci_Position line, LexAccessor &styler) {
function wordInArray (line 355) | static inline bool wordInArray(const std::string& value, std::string *ar...
class WordListAbridged (line 368) | class WordListAbridged : public WordList {
method WordListAbridged (line 370) | WordListAbridged() {
method Contains (line 379) | bool Contains(const char *s) {
class LexerBaan (line 386) | class LexerBaan : public DefaultLexer {
method LexerBaan (line 399) | LexerBaan() : DefaultLexer("baan", SCLEX_BAAN) {
method Version (line 405) | int SCI_METHOD Version() const override {
method Release (line 409) | void SCI_METHOD Release() override {
method PropertyType (line 417) | int SCI_METHOD PropertyType(const char * name) override {
method ILexer5 (line 445) | static ILexer5 * LexerFactoryBaan() {
function Sci_Position (line 450) | Sci_Position SCI_METHOD LexerBaan::PropertySet(const char *key, const ch...
function Sci_Position (line 457) | Sci_Position SCI_METHOD LexerBaan::WordListSet(int n, const char *wl) {
FILE: lexers/LexBash.cxx
type CmdState (line 57) | enum class CmdState {
type CommandSubstitution (line 68) | enum class CommandSubstitution : int {
type QuoteStyle (line 76) | enum class QuoteStyle {
function MaskCommand (line 93) | constexpr int MaskCommand(int state) noexcept {
function translateBashDigit (line 97) | constexpr int translateBashDigit(int ch) noexcept {
function getBashNumberBase (line 112) | int getBashNumberBase(const char *s) noexcept {
function opposite (line 125) | constexpr int opposite(int ch) noexcept {
function GlobScan (line 133) | int GlobScan(StyleContext &sc) {
function IsCommentLine (line 160) | bool IsCommentLine(Sci_Position line, LexAccessor &styler) {
function StyleForceBacktrack (line 173) | constexpr bool StyleForceBacktrack(int state) noexcept {
type OptionsBash (line 177) | struct OptionsBash {
method stylingInside (line 189) | [[nodiscard]] bool stylingInside(int state) const noexcept {
type OptionSetBash (line 210) | struct OptionSetBash : public OptionSet<OptionsBash> {
method OptionSetBash (line 211) | OptionSetBash() {
class QuoteCls (line 246) | class QuoteCls { // Class to manage quote pairs (simplified vs LexPerl)
method Clear (line 254) | void Clear() noexcept {
method Start (line 262) | void Start(int u, QuoteStyle s, int outer, CmdState state) noexcept {
class QuoteStackCls (line 272) | class QuoteStackCls { // Class to manage quote pairs that nest
method QuoteStackCls (line 284) | QuoteStackCls(const CharacterSet &setParamStart_) noexcept : setParamS...
method Empty (line 285) | [[nodiscard]] bool Empty() const noexcept {
method Start (line 288) | void Start(int u, QuoteStyle s, int outer, CmdState state) noexcept {
method Push (line 298) | void Push(int u, QuoteStyle s, int outer, CmdState state) noexcept {
method Pop (line 309) | void Pop() noexcept {
method Clear (line 329) | void Clear() noexcept {
method CountDown (line 336) | bool CountDown(StyleContext &sc, CmdState &cmdState) {
method Expand (line 351) | void Expand(StyleContext &sc, CmdState &cmdState, bool stylingInside) {
method Escape (line 401) | void Escape(StyleContext &sc) {
class LexerBash (line 476) | class LexerBash final : public DefaultLexer {
method LexerBash (line 488) | LexerBash() :
method Release (line 497) | void SCI_METHOD Release() override {
method Version (line 500) | int SCI_METHOD Version() const override {
method AllocateSubStyles (line 508) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 511) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 514) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 517) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 521) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 524) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 527) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 530) | int SCI_METHOD DistanceToSecondaryStyles() override {
method IsTestOperator (line 537) | bool IsTestOperator(const char *s, const CharacterSet &setSingleCharOp...
method ILexer5 (line 542) | static ILexer5 *LexerFactoryBash() {
function Sci_Position (line 547) | Sci_Position SCI_METHOD LexerBash::PropertySet(const char *key, const ch...
function Sci_Position (line 558) | Sci_Position SCI_METHOD LexerBash::WordListSet(int n, const char *wl) {
class HereDocCls (line 587) | class HereDocCls { // Class to manage HERE document elements
method HereDocCls (line 599) | HereDocCls() noexcept = default;
method Append (line 600) | void Append(int ch) {
FILE: lexers/LexBasic.cxx
function IsSpace (line 68) | static bool IsSpace(int c) {
function IsOperator (line 72) | static bool IsOperator(int c) {
function IsIdentifier (line 76) | static bool IsIdentifier(int c) {
function IsDigit (line 80) | static bool IsDigit(int c) {
function IsHexDigit (line 84) | static bool IsHexDigit(int c) {
function IsBinDigit (line 88) | static bool IsBinDigit(int c) {
function IsLetter (line 92) | static bool IsLetter(int c) {
function LowerCase (line 96) | static int LowerCase(int c)
function CheckBlitzFoldPoint (line 103) | static int CheckBlitzFoldPoint(char const *token, int &level) {
function CheckPureFoldPoint (line 116) | static int CheckPureFoldPoint(char const *token, int &level) {
function CheckFreeFoldPoint (line 133) | static int CheckFreeFoldPoint(char const *token, int &level) {
type OptionsBasic (line 161) | struct OptionsBasic {
method OptionsBasic (line 169) | OptionsBasic() {
type OptionSetBasic (line 204) | struct OptionSetBasic : public OptionSet<OptionsBasic> {
method OptionSetBasic (line 205) | OptionSetBasic(const char * const wordListDescriptions[]) {
class LexerBasic (line 231) | class LexerBasic : public DefaultLexer {
method LexerBasic (line 238) | LexerBasic(const char *languageName_, int language_, char comment_char_,
method Release (line 247) | void SCI_METHOD Release() override {
method Version (line 250) | int SCI_METHOD Version() const override {
method PropertyType (line 256) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 276) | static ILexer5 *LexerFactoryBlitzBasic() {
method ILexer5 (line 279) | static ILexer5 *LexerFactoryPureBasic() {
method ILexer5 (line 282) | static ILexer5 *LexerFactoryFreeBasic() {
function Sci_Position (line 287) | Sci_Position SCI_METHOD LexerBasic::PropertySet(const char *key, const c...
function Sci_Position (line 294) | Sci_Position SCI_METHOD LexerBasic::WordListSet(int n, const char *wl) {
FILE: lexers/LexBatch.cxx
class LexerBatch (line 57) | class LexerBatch : public DefaultLexer {
method LexerBatch (line 62) | explicit LexerBatch() :
method LexerBatch (line 66) | LexerBatch(const LexerBatch &) = delete;
method LexerBatch (line 67) | LexerBatch(LexerBatch &&) = delete;
method LexerBatch (line 68) | LexerBatch &operator=(const LexerBatch &) = delete;
method LexerBatch (line 69) | LexerBatch &operator=(LexerBatch &&) = delete;
method ILexer5 (line 78) | static ILexer5 *LexerFactoryBatch() {
function Is0To9 (line 83) | constexpr bool Is0To9(char ch) noexcept {
function IsAlphabetic (line 87) | constexpr bool IsAlphabetic(int ch) noexcept {
function AtEOL (line 91) | bool AtEOL(LexAccessor &styler, Sci_PositionU i) {
function IsBOperator (line 97) | constexpr bool IsBOperator(char ch) noexcept {
function IsBSeparator (line 102) | constexpr bool IsBSeparator(char ch) noexcept {
function IsBPunctuation (line 107) | constexpr bool IsBPunctuation(char ch) noexcept {
function IsBEndWord (line 112) | constexpr bool IsBEndWord(char ch) noexcept {
function SkipSpace (line 116) | constexpr void SkipSpace(Sci_PositionU &i, std::string_view sv) noexcept {
function SkipNonSpace (line 122) | constexpr void SkipNonSpace(Sci_PositionU &i, std::string_view sv) noexc...
function Sci_PositionU (line 128) | constexpr Sci_PositionU WordLength(std::string_view word) {
function IsEscaped (line 137) | constexpr bool IsEscaped(std::string_view wordStr, Sci_PositionU pos) no...
function IsQuotedBy (line 149) | constexpr bool IsQuotedBy(std::string_view svBuffer, char quote) noexcept {
function textQuoted (line 162) | constexpr bool textQuoted(std::string_view lineBuffer, Sci_PositionU end...
function IsContinuation (line 167) | bool IsContinuation(const std::string &lineBuffer) noexcept {
function Sci_Position (line 181) | Sci_Position SCI_METHOD LexerBatch::WordListSet(int n, const char *wl) {
FILE: lexers/LexBibTeX.cxx
function IsAlphabetic (line 37) | bool IsAlphabetic(unsigned int ch)
function IsAlphaNumeric (line 41) | bool IsAlphaNumeric(char ch)
function EqualCaseInsensitive (line 46) | bool EqualCaseInsensitive(const char* a, const char* b)
function EntryWithoutKey (line 51) | bool EntryWithoutKey(const char* name)
function GetClosingBrace (line 56) | char GetClosingBrace(char openbrace)
function IsEntryStart (line 68) | bool IsEntryStart(char prev, char ch)
function IsEntryStart (line 73) | bool IsEntryStart(const StyleContext& sc)
function ColorizeBibTeX (line 78) | void ColorizeBibTeX(Sci_PositionU start_pos, Sci_Position length, int /*...
FILE: lexers/LexBullant.cxx
function classifyWordBullant (line 27) | static int classifyWordBullant(Sci_PositionU start, Sci_PositionU end, W...
function ColouriseBullantDoc (line 62) | static void ColouriseBullantDoc(Sci_PositionU startPos, Sci_Position len...
FILE: lexers/LexCIL.cxx
function IsAWordChar (line 43) | bool IsAWordChar(const int ch) {
function IsOperator (line 47) | bool IsOperator(const int ch) {
function IsStreamCommentStyle (line 58) | constexpr bool IsStreamCommentStyle(const int style) noexcept {
type OptionsCIL (line 62) | struct OptionsCIL {
method OptionsCIL (line 68) | OptionsCIL() {
type OptionSetCIL (line 83) | struct OptionSetCIL : public OptionSet<OptionsCIL> {
method OptionSetCIL (line 84) | OptionSetCIL() {
class LexerCIL (line 114) | class LexerCIL : public DefaultLexer {
method LexerCIL (line 120) | LexerCIL() : DefaultLexer("cil", SCLEX_CIL, lexicalClasses, ELEMENTS(l...
method Release (line 124) | void SCI_METHOD Release() override {
method Version (line 128) | int SCI_METHOD Version() const override {
method PropertyType (line 136) | int SCI_METHOD PropertyType(const char *name) override {
method LineEndTypesSupported (line 163) | int SCI_METHOD LineEndTypesSupported() override {
method PrimaryStyleFromStyle (line 167) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method ILexer5 (line 171) | static ILexer5 *LexerFactoryCIL() {
function Sci_Position (line 176) | Sci_Position SCI_METHOD LexerCIL::PropertySet(const char *key, const cha...
function Sci_Position (line 184) | Sci_Position SCI_METHOD LexerCIL::WordListSet(int n, const char *wl) {
FILE: lexers/LexCLW.cxx
function IsEOL (line 33) | inline bool IsEOL(const int ch) {
function CharacterUpper (line 39) | static char CharacterUpper(char chChar) {
function StringUpper (line 50) | static void StringUpper(char *szString) {
function IsALabelStart (line 59) | inline bool IsALabelStart(const int iChar) {
function IsALabelCharacter (line 65) | inline bool IsALabelCharacter(const int iChar) {
function IsACommentStart (line 71) | inline bool IsACommentStart(const int iChar) {
function IsAHexCharacter (line 77) | inline bool IsAHexCharacter(const int iChar, bool bCaseSensitive) {
function IsANumericBaseCharacter (line 95) | inline bool IsANumericBaseCharacter(const int iChar, bool bCaseSensitive) {
function SetNumericConstantState (line 115) | inline bool SetNumericConstantState(StyleContext &scDoc) {
function GetNextWordUpper (line 146) | inline bool GetNextWordUpper(Accessor &styler, Sci_PositionU uiStartPos,...
function ColouriseClarionDoc (line 178) | static void ColouriseClarionDoc(Sci_PositionU uiStartPos, Sci_Position i...
function ColouriseClarionDocSensitive (line 525) | static void ColouriseClarionDocSensitive(Sci_PositionU uiStartPos, Sci_P...
function ColouriseClarionDocInsensitive (line 531) | static void ColouriseClarionDocInsensitive(Sci_PositionU uiStartPos, Sci...
function FillBuffer (line 538) | static void FillBuffer(Sci_PositionU uiStart, Sci_PositionU uiEnd, Acces...
function ClassifyClarionFoldPoint (line 551) | static int ClassifyClarionFoldPoint(int iLevel, const char* szString) {
function FoldClarionDoc (line 603) | static void FoldClarionDoc(Sci_PositionU uiStartPos, Sci_Position iLengt...
FILE: lexers/LexCOBOL.cxx
function isCOBOLoperator (line 42) | bool isCOBOLoperator(char ch)
function isCOBOLwordchar (line 47) | bool isCOBOLwordchar(char ch)
function isCOBOLwordstart (line 53) | bool isCOBOLwordstart(char ch)
function CountBits (line 58) | int CountBits(int nBits)
function getRange (line 69) | void getRange(Sci_PositionU start,
function ColourTo (line 82) | void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int attr) {
function classifyWordCOBOL (line 87) | int classifyWordCOBOL(Sci_PositionU start, Sci_PositionU end, /*WordList...
function ColouriseCOBOLDoc (line 147) | void ColouriseCOBOLDoc(Sci_PositionU startPos, Sci_Position length, int ...
function FoldCOBOLDoc (line 319) | void FoldCOBOLDoc(Sci_PositionU startPos, Sci_Position length, int, Word...
FILE: lexers/LexCPP.cxx
function IsSpaceEquiv (line 43) | constexpr bool IsSpaceEquiv(int state) noexcept {
function FollowsPostfixOperator (line 57) | bool FollowsPostfixOperator(const StyleContext &sc, LexAccessor &styler) {
function followsReturnKeyword (line 68) | bool followsReturnKeyword(const StyleContext &sc, LexAccessor &styler) {
function IsOperatorOrSpace (line 90) | constexpr bool IsOperatorOrSpace(int ch) noexcept {
function OnlySpaceOrTab (line 94) | bool OnlySpaceOrTab(std::string_view s) noexcept {
function Tokens (line 104) | Tokens StringSplit(const std::string &text, int separator) {
type BracketPair (line 116) | struct BracketPair {
function BracketPair (line 121) | BracketPair FindBracketPair(Tokens &tokens) {
function highlightTaskMarker (line 139) | void highlightTaskMarker(StyleContext &sc, LexAccessor &styler,
class EscapeSequence (line 163) | class EscapeSequence {
method EscapeSequence (line 168) | EscapeSequence() = default;
method resetEscapeState (line 169) | void resetEscapeState(int state, int nextChar) noexcept {
method atEscapeEnd (line 187) | [[nodiscard]] bool atEscapeEnd(int currChar) const noexcept {
method consumeDigit (line 190) | void consumeDigit() noexcept {
function GetRestOfLine (line 195) | std::string GetRestOfLine(LexAccessor &styler, Sci_Position start, bool ...
function IsStreamCommentStyle (line 222) | constexpr bool IsStreamCommentStyle(int style) noexcept {
type PPDefinition (line 229) | struct PPDefinition {
method PPDefinition (line 235) | PPDefinition(Sci_Position line_, std::string_view key_, std::string_vi...
class LinePPState (line 242) | class LinePPState {
method maskLevel (line 256) | [[nodiscard]] int maskLevel() const noexcept {
method LinePPState (line 263) | LinePPState() noexcept = default;
method ValidLevel (line 264) | [[nodiscard]] bool ValidLevel() const noexcept {
method IsActive (line 267) | [[nodiscard]] bool IsActive() const noexcept {
method IsInactive (line 270) | [[nodiscard]] bool IsInactive() const noexcept {
method ActiveState (line 273) | [[nodiscard]] int ActiveState() const noexcept {
method CurrentIfTaken (line 276) | [[nodiscard]] bool CurrentIfTaken() const noexcept {
method StartSection (line 279) | void StartSection(bool on) noexcept {
method EndSection (line 291) | void EndSection() noexcept {
method InvertCurrentLevel (line 298) | void InvertCurrentLevel() noexcept {
class PPStates (line 308) | class PPStates {
method LinePPState (line 311) | [[nodiscard]] LinePPState ForLine(Sci_Position line) const noexcept {
method Add (line 317) | void Add(Sci_Position line, LinePPState lls) {
type BackQuotedString (line 323) | enum class BackQuotedString : int {
type InterpolatingState (line 330) | struct InterpolatingState {
type Definition (line 335) | struct Definition {
function TrimSpaceTab (line 341) | constexpr std::string_view TrimSpaceTab(std::string_view sv) noexcept {
function Definition (line 357) | constexpr Definition ParseDefine(std::string_view definition, std::strin...
type OptionsCPP (line 388) | struct OptionsCPP {
type OptionSetCPP (line 424) | struct OptionSetCPP : public OptionSet<OptionsCPP> {
method OptionSetCPP (line 425) | OptionSetCPP() {
class LexerCPP (line 543) | class LexerCPP : public ILexer5 {
type SymbolValue (line 561) | struct SymbolValue {
method SymbolValue (line 564) | SymbolValue() noexcept = default;
method SymbolValue (line 565) | SymbolValue(std::string_view value_, std::string_view arguments_) : ...
method SymbolValue (line 567) | SymbolValue &operator = (const std::string &value_) {
method IsMacro (line 572) | [[nodiscard]] bool IsMacro() const noexcept {
method LexerCPP (line 586) | explicit LexerCPP(bool caseSensitive_) :
method LexerCPP (line 596) | LexerCPP(const LexerCPP &) = delete;
method LexerCPP (line 597) | LexerCPP(LexerCPP &&) = delete;
method Release (line 601) | void SCI_METHOD Release() noexcept override {
method Version (line 604) | int SCI_METHOD Version() const noexcept override {
method PropertyType (line 610) | int SCI_METHOD PropertyType(const char *name) override {
method LineEndTypesSupported (line 628) | int SCI_METHOD LineEndTypesSupported() noexcept override {
method AllocateSubStyles (line 632) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 635) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 638) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 641) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 646) | int SCI_METHOD PrimaryStyleFromStyle(int style) noexcept override {
method FreeSubStyles (line 649) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 652) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 655) | int SCI_METHOD DistanceToSecondaryStyles() noexcept override {
method NamedStyles (line 661) | int SCI_METHOD NamedStyles() override {
method GetIdentifier (line 719) | int SCI_METHOD GetIdentifier() override {
method ILexer5 (line 724) | static ILexer5 *LexerFactoryCPP() {
method ILexer5 (line 727) | static ILexer5 *LexerFactoryCPPInsensitive() {
method MaskActive (line 730) | constexpr static int MaskActive(int style) noexcept {
function Sci_Position (line 738) | Sci_Position SCI_METHOD LexerCPP::PropertySet(const char *key, const cha...
function Sci_Position (line 759) | Sci_Position SCI_METHOD LexerCPP::WordListSet(int n, const char *wl) {
type precedence (line 1764) | enum precedence { precMult, precAdd, precRelative
function Tokens (line 1815) | Tokens LexerCPP::Tokenize(const std::string &expr) const {
FILE: lexers/LexCSS.cxx
function IsAWordChar (line 41) | static inline bool IsAWordChar(const unsigned int ch) {
function IsCssOperator (line 50) | inline bool IsCssOperator(const int ch) {
function NestingLevelLookBehind (line 63) | inline int NestingLevelLookBehind(Sci_PositionU startPos, Accessor &styl...
function ColouriseCssDoc (line 78) | static void ColouriseCssDoc(Sci_PositionU startPos, Sci_Position length,...
function FoldCSSDoc (line 508) | static void FoldCSSDoc(Sci_PositionU startPos, Sci_Position length, int,...
FILE: lexers/LexCaml.cxx
function iscaml (line 47) | inline int iscaml(int c) {return isalnum(c) || c == '_';}
function iscamlf (line 48) | inline int iscamlf(int c) {return isalpha(c) || c == '_';}
function ColouriseCamlDoc (line 57) | static void ColouriseCamlDoc(
function FoldCamlDoc (line 313) | static
FILE: lexers/LexCmake.cxx
function isCmakeNumber (line 32) | static bool isCmakeNumber(char ch)
function isCmakeChar (line 37) | static bool isCmakeChar(char ch)
function isCmakeLetter (line 42) | static bool isCmakeLetter(char ch)
function CmakeNextLineHasElse (line 47) | static bool CmakeNextLineHasElse(Sci_PositionU start, Sci_PositionU end,...
function calculateFoldCmake (line 75) | static int calculateFoldCmake(Sci_PositionU start, Sci_PositionU end, in...
function classifyWordCmake (line 105) | static int classifyWordCmake(Sci_PositionU start, Sci_PositionU end, Wor...
function ColouriseCmakeDoc (line 167) | static void ColouriseCmakeDoc(Sci_PositionU startPos, Sci_Position lengt...
function FoldCmakeDoc (line 382) | static void FoldCmakeDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexCoffeeScript.cxx
function IsSpaceEquiv (line 35) | static bool IsSpaceEquiv(int state) {
function enterInnerExpression (line 48) | static void enterInnerExpression(int *p_inner_string_types,
function exitInnerExpression (line 65) | static int exitInnerExpression(int *p_inner_string_types,
function FollowsPostfixOperator (line 82) | static bool FollowsPostfixOperator(StyleContext &sc, Accessor &styler) {
function followsKeyword (line 93) | static bool followsKeyword(StyleContext &sc, Accessor &styler) {
function ColouriseCoffeeScriptDoc (line 114) | static void ColouriseCoffeeScriptDoc(Sci_PositionU startPos, Sci_Positio...
function IsCommentLine (line 349) | static bool IsCommentLine(Sci_Position line, Accessor &styler) {
function FoldCoffeeScriptDoc (line 362) | static void FoldCoffeeScriptDoc(Sci_PositionU startPos, Sci_Position len...
FILE: lexers/LexConf.cxx
function ColouriseConfDoc (line 35) | static void ColouriseConfDoc(Sci_PositionU startPos, Sci_Position length...
FILE: lexers/LexCrontab.cxx
function ColouriseNncrontabDoc (line 33) | static void ColouriseNncrontabDoc(Sci_PositionU startPos, Sci_Position l...
FILE: lexers/LexCsound.cxx
function IsAWordChar (line 32) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 37) | static inline bool IsAWordStart(const int ch) {
function IsCsoundOperator (line 42) | static inline bool IsCsoundOperator(char ch) {
function ColouriseCsoundDoc (line 55) | static void ColouriseCsoundDoc(Sci_PositionU startPos, Sci_Position leng...
function FoldCsoundInstruments (line 154) | static void FoldCsoundInstruments(Sci_PositionU startPos, Sci_Position l...
FILE: lexers/LexD.cxx
function IsWordStart (line 45) | static bool IsWordStart(int ch) {
function IsWord (line 49) | static bool IsWord(int ch) {
function IsDoxygen (line 53) | static bool IsDoxygen(int ch) {
function IsStringSuffix (line 63) | static bool IsStringSuffix(int ch) {
function IsStreamCommentStyle (line 67) | static bool IsStreamCommentStyle(int style) {
type OptionsD (line 77) | struct OptionsD {
method OptionsD (line 89) | OptionsD() {
type OptionSetD (line 115) | struct OptionSetD : public OptionSet<OptionsD> {
method OptionSetD (line 116) | OptionSetD() {
class LexerD (line 150) | class LexerD : public DefaultLexer {
method LexerD (line 162) | LexerD(bool caseSensitive_) :
method Release (line 168) | void SCI_METHOD Release() override {
method Version (line 171) | int SCI_METHOD Version() const override {
method PropertyType (line 177) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 198) | static ILexer5 *LexerFactoryD() {
function Sci_Position (line 203) | Sci_Position SCI_METHOD LexerD::PropertySet(const char *key, const char ...
function Sci_Position (line 210) | Sci_Position SCI_METHOD LexerD::WordListSet(int n, const char *wl) {
FILE: lexers/LexDMAP.cxx
function IsAWordChar (line 41) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 45) | static inline bool IsAWordStart(const int ch) {
function ColouriseDMAPDoc (line 49) | static void ColouriseDMAPDoc(Sci_PositionU startPos, Sci_Position length...
function classifyFoldPointDMAP (line 152) | static int classifyFoldPointDMAP(const char* s, const char* prevWord) {
function FoldDMAPDoc (line 162) | static void FoldDMAPDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexDMIS.cxx
class LexerDMIS (line 43) | class LexerDMIS : public DefaultLexer
method Version (line 61) | int SCI_METHOD Version() const override {
method Release (line 65) | void SCI_METHOD Release() override {
method PropertyType (line 73) | int SCI_METHOD PropertyType(const char *) override {
method Sci_Position (line 81) | Sci_Position SCI_METHOD PropertySet(const char *, const char *) overri...
method ILexer5 (line 95) | static ILexer5 *LexerFactoryDMIS() {
function Sci_Position (line 154) | Sci_Position SCI_METHOD LexerDMIS::WordListSet(int n, const char *wl)
FILE: lexers/LexDart.cxx
function IsEOLChar (line 37) | constexpr bool IsEOLChar(int ch) noexcept {
function IsAGraphic (line 41) | constexpr bool IsAGraphic(int ch) noexcept {
function IsIdentifierChar (line 46) | constexpr bool IsIdentifierChar(int ch) noexcept {
function IsIdentifierStart (line 50) | constexpr bool IsIdentifierStart(int ch) noexcept {
function IsNumberContinue (line 54) | constexpr bool IsNumberContinue(int chPrev, int ch, int chNext) noexcept {
function IsNumberStart (line 59) | constexpr bool IsNumberStart(int ch, int chNext) noexcept {
function IsDecimalNumber (line 63) | constexpr bool IsDecimalNumber(int chPrev, int ch, int chNext) noexcept {
type EscapeSequence (line 67) | struct EscapeSequence {
method resetEscapeState (line 73) | bool resetEscapeState(int state, int chNext) noexcept {
method atEscapeEnd (line 82) | bool atEscapeEnd(int ch) noexcept {
function IsDartIdentifierStart (line 88) | constexpr bool IsDartIdentifierStart(int ch) noexcept {
function IsDartIdentifierChar (line 92) | constexpr bool IsDartIdentifierChar(int ch) noexcept {
function IsDefinableOperator (line 96) | constexpr bool IsDefinableOperator(int ch) noexcept {
function IsSpaceEquiv (line 102) | constexpr bool IsSpaceEquiv(int state) noexcept {
function IsTripleString (line 110) | constexpr bool IsTripleString(int state) noexcept {
function IsDoubleQuoted (line 117) | constexpr bool IsDoubleQuoted(int state) noexcept {
function IsRaw (line 124) | constexpr bool IsRaw(int state) noexcept {
function GetStringQuote (line 131) | constexpr int GetStringQuote(int state) noexcept {
type InterpolatingState (line 142) | struct InterpolatingState {
type FoldLineState (line 147) | struct FoldLineState {
method FoldLineState (line 150) | constexpr explicit FoldLineState(int lineState) noexcept:
type OptionsDart (line 157) | struct OptionsDart {
type OptionSetDart (line 169) | struct OptionSetDart : public OptionSet<OptionsDart> {
method OptionSetDart (line 170) | OptionSetDart() {
class LexerDart (line 210) | class LexerDart : public DefaultLexer {
method LexerDart (line 218) | LexerDart(const char *languageName_, int language_) :
method LexerDart (line 222) | LexerDart(const LexerDart &) = delete;
method LexerDart (line 223) | LexerDart(LexerDart &&) = delete;
method Release (line 228) | void SCI_METHOD Release() override {
method Version (line 231) | int SCI_METHOD Version() const override {
method PropertyType (line 237) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 262) | static ILexer5 *LexerFactoryDart() {
function Sci_Position (line 267) | Sci_Position SCI_METHOD LexerDart::PropertySet(const char *key, const ch...
function Sci_Position (line 274) | Sci_Position SCI_METHOD LexerDart::WordListSet(int n, const char *wl) {
function Sci_PositionU (line 320) | Sci_PositionU LexerDart::LookbackNonWhite(LexAccessor &styler, Sci_Posit...
FILE: lexers/LexDataflex.cxx
function GetRangeLowered (line 74) | static void GetRangeLowered(Sci_PositionU start,
function GetForwardRangeLowered (line 87) | static void GetForwardRangeLowered(Sci_PositionU start,
function IsFirstDataFlexWord (line 112) | static bool IsFirstDataFlexWord(Sci_Position pos, Accessor &styler) {
function IsADataFlexField (line 124) | inline bool IsADataFlexField(int ch) {
function ClassifyDataFlexWord (line 129) | static void ClassifyDataFlexWord(WordList *keywordlists[], StyleContext ...
function ColouriseDataFlexDoc (line 193) | static void ColouriseDataFlexDoc(Sci_PositionU startPos, Sci_Position le...
function IsStreamCommentStyle (line 349) | static bool IsStreamCommentStyle(int style) {
function IsCommentLine (line 353) | static bool IsCommentLine(Sci_Position line, Accessor &styler) {
function GetFoldInPreprocessorLevelFlag (line 371) | static unsigned int GetFoldInPreprocessorLevelFlag(int lineFoldStateCurr...
function SetFoldInPreprocessorLevelFlag (line 375) | static void SetFoldInPreprocessorLevelFlag(int &lineFoldStateCurrent, un...
function ClassifyDataFlexPreprocessorFoldPoint (line 380) | static int ClassifyDataFlexPreprocessorFoldPoint(int &levelCurrent, int ...
function ClassifyDataFlexWordFoldPoint (line 417) | static void ClassifyDataFlexWordFoldPoint(int &levelCurrent, int &lineFo...
function ClassifyDataFlexMetaDataFoldPoint (line 483) | static void ClassifyDataFlexMetaDataFoldPoint(int &levelCurrent,
function FoldDataFlexDoc (line 500) | static void FoldDataFlexDoc(Sci_PositionU startPos, Sci_Position length,...
FILE: lexers/LexDiff.cxx
function AtEOL (line 33) | inline bool AtEOL(Accessor &styler, Sci_PositionU i) {
function ColouriseDiffLine (line 38) | void ColouriseDiffLine(const char *lineBuffer, Sci_Position endLine, Acc...
function ColouriseDiffDoc (line 103) | void ColouriseDiffDoc(Sci_PositionU startPos, Sci_Position length, int, ...
function FoldDiffDoc (line 120) | void FoldDiffDoc(Sci_PositionU startPos, Sci_Position length, int, WordL...
FILE: lexers/LexECL.cxx
function IsSpaceEquiv (line 49) | static bool IsSpaceEquiv(int state) {
function ColouriseEclDoc (line 65) | static void ColouriseEclDoc(Sci_PositionU startPos, Sci_Position length,...
function IsStreamCommentStyle (line 384) | static bool IsStreamCommentStyle(int style) {
function MatchNoCase (line 391) | static bool MatchNoCase(Accessor & styler, Sci_PositionU & pos, const ch...
function FoldEclDoc (line 408) | static void FoldEclDoc(Sci_PositionU startPos, Sci_Position length, int ...
FILE: lexers/LexEDIFACT.cxx
class LexerEDIFACT (line 30) | class LexerEDIFACT : public DefaultLexer
method ILexer5 (line 36) | static ILexer5 *Factory() {
method Version (line 40) | int SCI_METHOD Version() const override
method Release (line 44) | void SCI_METHOD Release() override
method PropertyType (line 53) | int SCI_METHOD PropertyType(const char *) override
method Sci_Position (line 66) | Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) ...
method Sci_Position (line 99) | Sci_Position SCI_METHOD WordListSet(int, const char *) override
function Sci_Position (line 313) | Sci_Position LexerEDIFACT::InitialiseFromUNA(IDocument *pAccess, Sci_Pos...
function Sci_Position (line 348) | Sci_Position LexerEDIFACT::ForwardPastWhitespace(IDocument *pAccess, Sci...
function Sci_Position (line 394) | Sci_Position LexerEDIFACT::FindPreviousEnd(IDocument *pAccess, Sci_Posit...
FILE: lexers/LexEScript.cxx
function IsAWordChar (line 31) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 35) | static inline bool IsAWordStart(const int ch) {
function ColouriseESCRIPTDoc (line 41) | static void ColouriseESCRIPTDoc(Sci_PositionU startPos, Sci_Position len...
function classifyFoldPointESCRIPT (line 152) | static int classifyFoldPointESCRIPT(const char* s, const char* prevWord) {
function IsStreamCommentStyle (line 174) | static bool IsStreamCommentStyle(int style) {
function FoldESCRIPTDoc (line 180) | static void FoldESCRIPTDoc(Sci_PositionU startPos, Sci_Position length, ...
FILE: lexers/LexEiffel.cxx
function isEiffelOperator (line 31) | static inline bool isEiffelOperator(unsigned int ch) {
function IsAWordChar (line 42) | static inline bool IsAWordChar(unsigned int ch) {
function IsAWordStart (line 46) | static inline bool IsAWordStart(unsigned int ch) {
function ColouriseEiffelDoc (line 50) | static void ColouriseEiffelDoc(Sci_PositionU startPos,
function IsEiffelComment (line 122) | static bool IsEiffelComment(Accessor &styler, Sci_Position pos, Sci_Posi...
function FoldEiffelDocIndent (line 126) | static void FoldEiffelDocIndent(Sci_PositionU startPos, Sci_Position len...
function FoldEiffelDocKeyWords (line 168) | static void FoldEiffelDocKeyWords(Sci_PositionU startPos, Sci_Position l...
FILE: lexers/LexErlang.cxx
function is_radix (line 35) | static int is_radix(int radix, int ch) {
function IsAWordChar (line 76) | static inline bool IsAWordChar(const int ch) {
function ColouriseErlangDoc (line 80) | static void ColouriseErlangDoc(Sci_PositionU startPos, Sci_Position leng...
function ClassifyErlangFoldPoint (line 508) | static int ClassifyErlangFoldPoint(
function FoldErlangDoc (line 531) | static void FoldErlangDoc(
FILE: lexers/LexErrorList.cxx
type OptionsErrorList (line 39) | struct OptionsErrorList {
type OptionSetErrorList (line 48) | struct OptionSetErrorList : public OptionSet<OptionsErrorList> {
method OptionSetErrorList (line 49) | OptionSetErrorList() {
class LexerErrorList (line 123) | class LexerErrorList : public DefaultLexer {
method LexerErrorList (line 127) | LexerErrorList() :
method PropertyType (line 134) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 150) | static ILexer5 *LexerFactoryErrorList() {
function Sci_Position (line 155) | Sci_Position SCI_METHOD LexerErrorList::PropertySet(const char *key, con...
function StartsWith (line 162) | constexpr bool StartsWith(std::string_view haystack, std::string_view ne...
function Contains (line 167) | constexpr bool Contains(std::string_view text, std::string_view a) noexc...
function ContainsOrdered (line 173) | constexpr bool ContainsOrdered(std::string_view text, std::string_view a...
function Is0To9 (line 182) | constexpr bool Is0To9(char ch) noexcept {
function Is1To9 (line 186) | constexpr bool Is1To9(char ch) noexcept {
function AtEOL (line 190) | bool AtEOL(Accessor &styler, Sci_Position i) {
function LetterPrefix (line 195) | std::string_view LetterPrefix(std::string_view sv) noexcept {
function IsGccExcerpt (line 202) | bool IsGccExcerpt(std::string_view sv) noexcept {
function IsBashDiagnostic (line 216) | bool IsBashDiagnostic(std::string_view sv) {
function RecogniseErrorListLine (line 232) | int RecogniseErrorListLine(std::string_view lineBuffer, Sci_Position &st...
function SequenceEnd (line 456) | constexpr bool SequenceEnd(int ch) noexcept {
function StyleFromSequence (line 460) | int StyleFromSequence(const char *seq) noexcept {
function ColouriseErrorListLine (line 499) | void ColouriseErrorListLine(
FILE: lexers/LexEscSeq.cxx
type OptionsEscSeq (line 41) | struct OptionsEscSeq {
type OptionSetEscSeq (line 51) | struct OptionSetEscSeq : public OptionSet<OptionsEscSeq> {
method OptionSetEscSeq (line 52) | OptionSetEscSeq() {
class LexerEscSeq (line 240) | class LexerEscSeq : public DefaultLexer {
method LexerEscSeq (line 244) | LexerEscSeq() :
method PropertyType (line 251) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 267) | static ILexer5 *LexerFactoryEscSeq() {
function Sci_Position (line 273) | Sci_Position SCI_METHOD LexerEscSeq::PropertySet(const char *key, const ...
function Is0To9 (line 281) | constexpr bool Is0To9(char ch) noexcept {
function AtEOL (line 286) | bool AtEOL(Accessor &styler, Sci_Position i) {
function SequenceEnd (line 292) | constexpr bool SequenceEnd(int ch) noexcept {
function StyleFromSequence (line 297) | int StyleFromSequence(const char *seq) noexcept {
function ColouriseEscSeqLine (line 364) | void ColouriseEscSeqLine(const std::string &lineBuffer,
FILE: lexers/LexFSharp.cxx
type OptionsFSharp (line 50) | struct OptionsFSharp {
type OptionSetFSharp (line 61) | struct OptionSetFSharp : public OptionSet<OptionsFSharp> {
method OptionSetFSharp (line 62) | OptionSetFSharp() {
class UnicodeChar (line 89) | class UnicodeChar {
type Notation (line 90) | enum class Notation { none, asciiDec, asciiHex, utf16, utf32 }
method UnicodeChar (line 99) | UnicodeChar() noexcept = default;
method UnicodeChar (line 100) | explicit UnicodeChar(const int prefix) {
method Parse (line 125) | void Parse(const int ch) {
method AtEnd (line 157) | constexpr bool AtEnd() noexcept {
function MatchStreamCommentStart (line 162) | inline bool MatchStreamCommentStart(StyleContext &cxt) {
function MatchStreamCommentEnd (line 168) | inline bool MatchStreamCommentEnd(const StyleContext &cxt) {
function MatchLineComment (line 172) | inline bool MatchLineComment(const StyleContext &cxt) {
function MatchLineNumberStart (line 178) | inline bool MatchLineNumberStart(StyleContext &cxt) {
function MatchPPDirectiveStart (line 183) | inline bool MatchPPDirectiveStart(const StyleContext &cxt) {
function MatchTypeAttributeStart (line 187) | inline bool MatchTypeAttributeStart(const StyleContext &cxt) {
function MatchTypeAttributeEnd (line 191) | inline bool MatchTypeAttributeEnd(const StyleContext &cxt) {
function MatchQuotedExpressionStart (line 195) | inline bool MatchQuotedExpressionStart(const StyleContext &cxt) {
function MatchQuotedExpressionEnd (line 199) | inline bool MatchQuotedExpressionEnd(const StyleContext &cxt) {
function MatchStringStart (line 203) | inline bool MatchStringStart(StyleContext &cxt) {
function FollowsEscapedBackslash (line 208) | inline bool FollowsEscapedBackslash(StyleContext &cxt) {
function MatchStringEnd (line 215) | inline bool MatchStringEnd(StyleContext &cxt, bool &rawString) {
function MatchCharacterStart (line 242) | inline bool MatchCharacterStart(StyleContext &cxt) {
function IsLineEnd (line 247) | inline bool IsLineEnd(StyleContext &cxt, const Sci_Position offset) {
class LexerFSharp (line 252) | class LexerFSharp : public DefaultLexer {
method LexerFSharp (line 267) | explicit LexerFSharp()
method LexerFSharp (line 277) | LexerFSharp(const LexerFSharp &) = delete;
method LexerFSharp (line 278) | LexerFSharp(LexerFSharp &&) = delete;
method LexerFSharp (line 279) | LexerFSharp &operator=(const LexerFSharp &) = delete;
method LexerFSharp (line 280) | LexerFSharp &operator=(LexerFSharp &&) = delete;
method ILexer5 (line 282) | static ILexer5 *LexerFactoryFSharp() {
method Release (line 285) | void SCI_METHOD Release() noexcept override {
method Version (line 288) | int SCI_METHOD Version() const noexcept override {
method GetIdentifier (line 294) | int SCI_METHOD GetIdentifier() noexcept override {
method LineEndTypesSupported (line 297) | int SCI_METHOD LineEndTypesSupported() noexcept override {
method Sci_Position (line 303) | Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) ...
method IsNumber (line 314) | inline bool IsNumber(StyleContext &cxt, const int base = 10) {
method IsFloat (line 319) | inline bool IsFloat(StyleContext &cxt) {
function Sci_Position (line 329) | Sci_Position SCI_METHOD LexerFSharp::WordListSet(int n, const char *wl) {
function LineContains (line 738) | bool LineContains(LexAccessor &styler, const char *word, const Sci_Posit...
function FoldLexicalGroup (line 750) | void FoldLexicalGroup(LexAccessor &styler, int &levelNext, const Sci_Pos...
FILE: lexers/LexFlagship.cxx
function IsAWordChar (line 35) | static inline bool IsAWordChar(int ch)
function ColouriseFlagShipDoc (line 41) | static void ColouriseFlagShipDoc(Sci_PositionU startPos, Sci_Position le...
function FoldFlagShipDoc (line 306) | static void FoldFlagShipDoc(Sci_PositionU startPos, Sci_Position length,...
FILE: lexers/LexForth.cxx
function IsAWordStart (line 31) | static inline bool IsAWordStart(int ch) {
function IsANumChar (line 37) | static inline bool IsANumChar(int ch) {
function IsASpaceChar (line 41) | static inline bool IsASpaceChar(int ch) {
function ColouriseForthDoc (line 45) | static void ColouriseForthDoc(Sci_PositionU startPos, Sci_Position lengt...
function FoldForthDoc (line 157) | static void FoldForthDoc(Sci_PositionU, Sci_Position, int, WordList *[],
FILE: lexers/LexFortran.cxx
function IsAWordChar (line 34) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 38) | static inline bool IsAWordStart(const int ch) {
function IsABlank (line 42) | static inline bool IsABlank(unsigned int ch) {
function IsALineEnd (line 46) | static inline bool IsALineEnd(char ch) {
function Sci_PositionU (line 50) | static Sci_PositionU GetContinuedPos(Sci_PositionU pos, Accessor &styler) {
function ColouriseFortranDoc (line 63) | static void ColouriseFortranDoc(Sci_PositionU startPos, Sci_Position len...
function CheckLevelCommentLine (line 260) | static void CheckLevelCommentLine(const unsigned int nComL,
function GetIfLineComment (line 293) | static void GetIfLineComment(Accessor &styler, bool isFixFormat, const S...
function StepCommentLine (line 313) | static void StepCommentLine(Accessor &styler, bool isFixFormat, Sci_Posi...
function CheckBackComLines (line 342) | static void CheckBackComLines(Accessor &styler, bool isFixFormat, Sci_Po...
function classifyFoldPointFortran (line 420) | static int classifyFoldPointFortran(const char* s, const char* prevWord,...
function FoldFortranDoc (line 465) | static void FoldFortranDoc(Sci_PositionU startPos, Sci_Position length, ...
function ColouriseFortranDocFreeFormat (line 703) | static void ColouriseFortranDocFreeFormat(Sci_PositionU startPos, Sci_Po...
function ColouriseFortranDocFixFormat (line 708) | static void ColouriseFortranDocFixFormat(Sci_PositionU startPos, Sci_Pos...
function FoldFortranDocFreeFormat (line 713) | static void FoldFortranDocFreeFormat(Sci_PositionU startPos, Sci_Positio...
function FoldFortranDocFixFormat (line 718) | static void FoldFortranDocFixFormat(Sci_PositionU startPos, Sci_Position...
FILE: lexers/LexGAP.cxx
function IsGAPOperator (line 32) | static inline bool IsGAPOperator(char ch) {
function GetRange (line 43) | static void GetRange(Sci_PositionU start, Sci_PositionU end, Accessor &s...
function ColouriseGAPDoc (line 52) | static void ColouriseGAPDoc(Sci_PositionU startPos, Sci_Position length,...
function ClassifyFoldPointGAP (line 185) | static int ClassifyFoldPointGAP(const char* s) {
function FoldGAPDoc (line 201) | static void FoldGAPDoc( Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexGDScript.cxx
type kwType (line 41) | enum kwType { kwOther, kwClass, kwDef, kwExtends}
function IsGDStringStart (line 45) | bool IsGDStringStart(int ch) {
function IsGDComment (line 49) | bool IsGDComment(Accessor &styler, Sci_Position pos, Sci_Position len) {
function IsGDSingleQuoteStringState (line 53) | constexpr bool IsGDSingleQuoteStringState(int st) noexcept {
function IsGDTripleQuoteStringState (line 57) | constexpr bool IsGDTripleQuoteStringState(int st) noexcept {
function GetGDStringQuoteChar (line 61) | char GetGDStringQuoteChar(int st) noexcept {
function GetGDStringState (line 71) | int GetGDStringState(Accessor &styler, Sci_Position i, Sci_PositionU *ne...
function GetGDStringState (line 97) | int GetGDStringState(int ch) {
function IsAWordChar (line 107) | inline bool IsAWordChar(int ch, bool unicodeIdentifiers) {
function IsANodePathChar (line 117) | inline bool IsANodePathChar(int ch, bool unicodeIdentifiers) {
function IsAWordStart (line 127) | inline bool IsAWordStart(int ch, bool unicodeIdentifiers) {
function IsFirstNonWhitespace (line 137) | bool IsFirstNonWhitespace(Sci_Position pos, Accessor &styler) {
type OptionsGDScript (line 149) | struct OptionsGDScript {
method OptionsGDScript (line 159) | OptionsGDScript() noexcept {
type OptionSetGDScript (line 177) | struct OptionSetGDScript : public OptionSet<OptionsGDScript> {
method OptionSetGDScript (line 178) | OptionSetGDScript() {
class LexerGDScript (line 237) | class LexerGDScript : public DefaultLexer {
method LexerGDScript (line 245) | explicit LexerGDScript() :
method Release (line 250) | void SCI_METHOD Release() override {
method Version (line 253) | int SCI_METHOD Version() const override {
method PropertyType (line 259) | int SCI_METHOD PropertyType(const char *name) override {
method LineEndTypesSupported (line 280) | int SCI_METHOD LineEndTypesSupported() override {
method AllocateSubStyles (line 284) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 287) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 290) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 293) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 297) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 300) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 303) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 306) | int SCI_METHOD DistanceToSecondaryStyles() override {
method ILexer5 (line 313) | static ILexer5 *LexerFactoryGDScript() {
function Sci_Position (line 321) | Sci_Position SCI_METHOD LexerGDScript::PropertySet(const char *key, cons...
function Sci_Position (line 328) | Sci_Position SCI_METHOD LexerGDScript::WordListSet(int n, const char *wl) {
function IsCommentLine (line 614) | static bool IsCommentLine(Sci_Position line, Accessor &styler) {
function IsQuoteLine (line 627) | static bool IsQuoteLine(Sci_Position line, const Accessor &styler) {
FILE: lexers/LexGui4Cli.cxx
function IsAWordChar (line 50) | static inline bool IsAWordChar(const int ch) {
function isGCOperator (line 54) | inline bool isGCOperator(int ch)
function colorFirstWord (line 72) | static void colorFirstWord(WordList *keywordlists[], Accessor &styler,
function ColouriseGui4CliDoc (line 123) | static void
function FoldGui4Cli (line 249) | static void FoldGui4Cli(Sci_PositionU startPos, Sci_Position length, int,
FILE: lexers/LexHTML.cxx
type script_type (line 45) | enum script_type { eScriptNone = 0, eScriptJS, eScriptVBS, eScriptPython...
type script_mode (line 46) | enum script_mode { eHtml = 0, eNonHtmlScript, eNonHtmlPreProc, eNonHtmlS...
function IsAWordChar (line 48) | constexpr bool IsAWordChar(int ch) noexcept {
function IsAWordStart (line 52) | constexpr bool IsAWordStart(int ch) noexcept {
function IsOperator (line 56) | bool IsOperator(int ch) noexcept {
function SafeGetUnsignedCharAt (line 70) | unsigned char SafeGetUnsignedCharAt(Accessor &styler, Sci_Position posit...
function GetNextWord (line 77) | std::string GetNextWord(Accessor &styler, Sci_PositionU start) {
function Contains (line 90) | bool Contains(const std::string &s, std::string_view search) noexcept {
function script_type (line 94) | script_type segIsScriptingIndicator(const Accessor &styler, Sci_Position...
function IsPHPScriptState (line 120) | constexpr bool IsPHPScriptState(int state) noexcept {
function script_type (line 124) | script_type ScriptOfState(int state) noexcept {
function statePrintForState (line 142) | constexpr int statePrintForState(int state, script_mode inScriptType) no...
function stateForPrintState (line 158) | constexpr int stateForPrintState(int StateToPrint) noexcept {
function IsNumberChar (line 172) | constexpr bool IsNumberChar(char ch) noexcept {
function isStringState (line 176) | constexpr bool isStringState(int state) noexcept {
function stateAllowsTermination (line 210) | constexpr bool stateAllowsTermination(int state) noexcept {
function isPreProcessorEndTag (line 226) | bool isPreProcessorEndTag(int state, int ch) noexcept {
function isCommentASPState (line 238) | constexpr bool isCommentASPState(int state) noexcept {
function classifyAttribHTML (line 257) | bool classifyAttribHTML(script_mode inScriptType, Sci_PositionU start, S...
function isHTMLCustomElement (line 293) | bool isHTMLCustomElement(const std::string &tag) noexcept {
function classifyTagHTML (line 305) | int classifyTagHTML(Sci_PositionU start, Sci_PositionU end,
function classifyWordHTJS (line 366) | void classifyWordHTJS(Sci_PositionU start, Sci_PositionU end,
function classifyWordHTVB (line 385) | int classifyWordHTVB(Sci_PositionU start, Sci_PositionU end, const WordL...
function classifyWordHTPy (line 410) | void classifyWordHTPy(Sci_PositionU start, Sci_PositionU end, const Word...
function classifyWordHTPHP (line 436) | void classifyWordHTPHP(Sci_PositionU start, Sci_PositionU end, const Wor...
function isWordHSGML (line 455) | bool isWordHSGML(Sci_PositionU start, Sci_PositionU end, const WordList ...
function isWordCdata (line 460) | bool isWordCdata(Sci_PositionU start, Sci_PositionU end, const Accessor ...
function StateForScript (line 466) | constexpr int StateForScript(script_type scriptLanguage) noexcept {
function defaultStateForSGML (line 493) | constexpr int defaultStateForSGML(script_type scriptLanguage) noexcept {
function issgmlwordchar (line 497) | constexpr bool issgmlwordchar(int ch) noexcept {
function IsPhpWordStart (line 502) | constexpr bool IsPhpWordStart(int ch) noexcept {
function IsPhpWordChar (line 506) | constexpr bool IsPhpWordChar(int ch) noexcept {
function InTagState (line 510) | constexpr bool InTagState(int state) noexcept {
function isLineEnd (line 517) | constexpr bool isLineEnd(int ch) noexcept {
function isMakoBlockEnd (line 521) | bool isMakoBlockEnd(const int ch, const int chNext, const std::string &b...
function isDjangoBlockEnd (line 538) | bool isDjangoBlockEnd(const int ch, const int chNext, const std::string ...
class PhpNumberState (line 550) | class PhpNumberState {
type NumberBase (line 551) | enum NumberBase { BASE_10 = 0, BASE_2, BASE_8, BASE_16 }
method isInvalid (line 568) | [[nodiscard]] bool isInvalid() const noexcept { return invalid; }
method isFinished (line 569) | [[nodiscard]] bool isFinished() const noexcept { return finished; }
method init (line 571) | bool init(int ch, int chPlus1, int chPlus2) noexcept {
method check (line 608) | bool check(int ch, int chPlus1) noexcept {
function isPHPStringState (line 663) | constexpr bool isPHPStringState(int state) noexcept {
function StyleNeedsBacktrack (line 671) | constexpr bool StyleNeedsBacktrack(int state) noexcept {
type AllowPHP (line 675) | enum class AllowPHP : int {
type InstructionTag (line 681) | enum class InstructionTag {
function InstructionTag (line 689) | InstructionTag segIsScriptInstruction(AllowPHP allowPHP, int state, cons...
function Sci_Position (line 708) | Sci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci...
type OptionsHTML (line 751) | struct OptionsHTML {
type OptionSetHTML (line 790) | struct OptionSetHTML : public OptionSet<OptionsHTML> {
method OptionSetHTML (line 791) | explicit OptionSetHTML(bool isPHPScript_) {
class LexerHTML (line 1048) | class LexerHTML : public DefaultLexer {
method LexerHTML (line 1062) | explicit LexerHTML(bool isXml_, bool isPHPScript_) :
method Release (line 1075) | void SCI_METHOD Release() override {
method PropertyType (line 1081) | int SCI_METHOD PropertyType(const char *name) override {
method AllocateSubStyles (line 1098) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 1101) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 1104) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 1107) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 1111) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 1114) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 1117) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 1122) | int SCI_METHOD DistanceToSecondaryStyles() override {
method ILexer5 (line 1129) | static ILexer5 *LexerFactoryHTML() {
method ILexer5 (line 1132) | static ILexer5 *LexerFactoryXML() {
method ILexer5 (line 1135) | static ILexer5 *LexerFactoryPHPScript() {
function Sci_Position (line 1140) | Sci_Position SCI_METHOD LexerHTML::PropertySet(const char *key, const ch...
function Sci_Position (line 1147) | Sci_Position SCI_METHOD LexerHTML::WordListSet(int n, const char *wl) {
FILE: lexers/LexHaskell.cxx
function u_iswupper (line 55) | static int u_iswupper (int ch) {
function u_iswalpha (line 60) | static int u_iswalpha (int ch) {
function u_iswalnum (line 65) | static int u_iswalnum (int ch) {
function u_IsHaskellSymbol (line 71) | static int u_IsHaskellSymbol(int ch) {
function IsHaskellLetter (line 77) | static inline bool IsHaskellLetter(const int ch) {
function IsHaskellAlphaNumeric (line 86) | static inline bool IsHaskellAlphaNumeric(const int ch) {
function IsHaskellUpperCase (line 94) | static inline bool IsHaskellUpperCase(const int ch) {
function IsAnHaskellOperatorChar (line 102) | static inline bool IsAnHaskellOperatorChar(const int ch) {
function IsAHaskellWordStart (line 115) | static inline bool IsAHaskellWordStart(const int ch) {
function IsAHaskellWordChar (line 119) | static inline bool IsAHaskellWordChar(const int ch) {
function IsCommentBlockStyle (line 125) | static inline bool IsCommentBlockStyle(int style) {
function IsCommentStyle (line 129) | static inline bool IsCommentStyle(int style) {
function IsExternalStyle (line 136) | static inline bool IsExternalStyle(int style) {
function CommentBlockStyleFromNestLevel (line 142) | static inline int CommentBlockStyleFromNestLevel(const unsigned int nest...
function HaskellIndentAmount (line 149) | static int HaskellIndentAmount(Accessor &styler, const Sci_Position line) {
type OptionsHaskell (line 199) | struct OptionsHaskell {
method OptionsHaskell (line 210) | OptionsHaskell() {
type OptionSetHaskell (line 231) | struct OptionSetHaskell : public OptionSet<OptionsHaskell> {
method OptionSetHaskell (line 232) | OptionSetHaskell() {
class LexerHaskell (line 275) | class LexerHaskell : public DefaultLexer {
type HashCount (line 285) | enum HashCount {
type KeywordMode (line 291) | enum KeywordMode {
type LiterateMode (line 301) | enum LiterateMode {
type HaskellLineInfo (line 314) | struct HaskellLineInfo {
method HaskellLineInfo (line 322) | HaskellLineInfo(int state) :
method ToLineState (line 330) | int ToLineState() {
method skipMagicHash (line 340) | inline void skipMagicHash(StyleContext &sc, const HashCount hashes) co...
method LineContainsImport (line 353) | bool LineContainsImport(const Sci_Position line, Accessor &styler) con...
method IndentAmountWithOffset (line 380) | inline int IndentAmountWithOffset(Accessor &styler, const Sci_Position...
method IndentLevelRemoveIndentOffset (line 388) | inline int IndentLevelRemoveIndentOffset(const int indentLevel) const {
method LexerHaskell (line 395) | LexerHaskell(bool literate_)
method Release (line 403) | void SCI_METHOD Release() override {
method Version (line 407) | int SCI_METHOD Version() const override {
method PropertyType (line 415) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 443) | static ILexer5 *LexerFactoryHaskell() {
method ILexer5 (line 447) | static ILexer5 *LexerFactoryLiterateHaskell() {
function Sci_Position (line 452) | Sci_Position SCI_METHOD LexerHaskell::PropertySet(const char *key, const...
function Sci_Position (line 459) | Sci_Position SCI_METHOD LexerHaskell::WordListSet(int n, const char *wl) {
FILE: lexers/LexHex.cxx
function IsNewline (line 162) | static inline bool IsNewline(const int ch)
function GetHexaNibble (line 167) | static int GetHexaNibble(char hd)
function GetHexaChar (line 184) | static int GetHexaChar(char hd1, char hd2)
function GetHexaChar (line 211) | static int GetHexaChar(Sci_PositionU pos, Accessor &styler)
function ForwardWithinLine (line 225) | static bool ForwardWithinLine(StyleContext &sc, Sci_Position nb)
function PosInSameRecord (line 242) | static bool PosInSameRecord(Sci_PositionU pos1, Sci_PositionU pos2, Acce...
function Sci_Position (line 250) | static Sci_Position CountByteCount(Sci_PositionU startPos, Sci_Position ...
function CalcChecksum (line 279) | static int CalcChecksum(Sci_PositionU startPos, Sci_Position cnt, bool t...
function Sci_PositionU (line 305) | static Sci_PositionU GetSrecRecStartPosition(Sci_PositionU pos, Accessor...
function GetSrecByteCount (line 316) | static int GetSrecByteCount(Sci_PositionU recStartPos, Accessor &styler)
function Sci_Position (line 331) | static Sci_Position CountSrecByteCount(Sci_PositionU recStartPos, Access...
function GetSrecAddressFieldSize (line 337) | static int GetSrecAddressFieldSize(Sci_PositionU recStartPos, Accessor &...
function GetSrecAddressFieldType (line 361) | static int GetSrecAddressFieldType(Sci_PositionU recStartPos, Accessor &...
function GetSrecDataFieldType (line 387) | static int GetSrecDataFieldType(Sci_PositionU recStartPos, Accessor &sty...
function Sci_Position (line 411) | static Sci_Position GetSrecRequiredDataFieldSize(Sci_PositionU recStartP...
function GetSrecChecksum (line 429) | static int GetSrecChecksum(Sci_PositionU recStartPos, Accessor &styler)
function CalcSrecChecksum (line 439) | static int CalcSrecChecksum(Sci_PositionU recStartPos, Accessor &styler)
function Sci_PositionU (line 451) | static Sci_PositionU GetIHexRecStartPosition(Sci_PositionU pos, Accessor...
function GetIHexByteCount (line 462) | static int GetIHexByteCount(Sci_PositionU recStartPos, Accessor &styler)
function Sci_Position (line 477) | static Sci_Position CountIHexByteCount(Sci_PositionU recStartPos, Access...
function GetIHexAddressFieldType (line 483) | static int GetIHexAddressFieldType(Sci_PositionU recStartPos, Accessor &...
function GetIHexDataFieldType (line 508) | static int GetIHexDataFieldType(Sci_PositionU recStartPos, Accessor &sty...
function GetIHexRequiredDataFieldSize (line 532) | static int GetIHexRequiredDataFieldSize(Sci_PositionU recStartPos, Acces...
function GetIHexChecksum (line 552) | static int GetIHexChecksum(Sci_PositionU recStartPos, Accessor &styler)
function CalcIHexChecksum (line 562) | static int CalcIHexChecksum(Sci_PositionU recStartPos, Accessor &styler)
function GetTEHexDigitCount (line 575) | static int GetTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler)
function Sci_Position (line 586) | static Sci_Position CountTEHexDigitCount(Sci_PositionU recStartPos, Acce...
function GetTEHexAddressFieldType (line 600) | static int GetTEHexAddressFieldType(Sci_PositionU recStartPos, Accessor ...
function GetTEHexChecksum (line 615) | static int GetTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler)
function CalcTEHexChecksum (line 621) | static int CalcTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler)
function ColouriseSrecDoc (line 649) | static void ColouriseSrecDoc(Sci_PositionU startPos, Sci_Position length...
function ColouriseIHexDoc (line 775) | static void ColouriseIHexDoc(Sci_PositionU startPos, Sci_Position length...
function FoldIHexDoc (line 896) | static void FoldIHexDoc(Sci_PositionU startPos, Sci_Position length, int...
function ColouriseTEHexDoc (line 939) | static void ColouriseTEHexDoc(Sci_PositionU startPos, Sci_Position lengt...
FILE: lexers/LexHollywood.cxx
function IsSpace (line 186) | static bool IsSpace(int c) {
function IsOperator (line 190) | static bool IsOperator(int c) {
function IsIdentifier (line 194) | static bool IsIdentifier(int c) {
function IsDigit (line 198) | static bool IsDigit(int c) {
function IsHexDigit (line 202) | static bool IsHexDigit(int c) {
function LowerCase (line 206) | static int LowerCase(int c)
function CheckHollywoodFoldPoint (line 213) | static int CheckHollywoodFoldPoint(char const *token) {
type OptionsHollywood (line 226) | struct OptionsHollywood {
method OptionsHollywood (line 229) | OptionsHollywood() {
type OptionSetHollywood (line 243) | struct OptionSetHollywood : public OptionSet<OptionsHollywood> {
method OptionSetHollywood (line 244) | OptionSetHollywood(const char * const wordListDescriptions[]) {
class LexerHollywood (line 251) | class LexerHollywood : public DefaultLexer {
method LexerHollywood (line 257) | LexerHollywood(int (*CheckFoldPoint_)(char const *), const char * cons...
method Release (line 264) | void SCI_METHOD Release() override {
method Version (line 267) | int SCI_METHOD Version() const override {
method PropertyType (line 273) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 293) | static ILexer5 *LexerFactoryHollywood() {
function Sci_Position (line 298) | Sci_Position SCI_METHOD LexerHollywood::PropertySet(const char *key, con...
function Sci_Position (line 305) | Sci_Position SCI_METHOD LexerHollywood::WordListSet(int n, const char *w...
FILE: lexers/LexIndent.cxx
function ColouriseIndentDoc (line 30) | static void ColouriseIndentDoc(Sci_PositionU startPos, Sci_Position leng...
function FoldIndentDoc (line 40) | static void FoldIndentDoc(Sci_PositionU startPos, Sci_Position length, i...
FILE: lexers/LexInno.cxx
function innoIsBlank (line 32) | static bool innoIsBlank(int ch) {
function innoNextNotBlankIs (line 36) | static bool innoNextNotBlankIs(Sci_Position i, Accessor &styler, char ne...
function ColouriseInnoDoc (line 53) | static void ColouriseInnoDoc(Sci_PositionU startPos, Sci_Position length...
function FoldInnoDoc (line 339) | static void FoldInnoDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexJSON.cxx
type CompactIRI (line 52) | struct CompactIRI {
method CompactIRI (line 56) | CompactIRI() {
method resetState (line 61) | void resetState() noexcept {
method checkChar (line 65) | void checkChar(int ch) noexcept {
method shouldHighlight (line 72) | [[nodiscard]] bool shouldHighlight() const noexcept {
type EscapeSequence (line 82) | struct EscapeSequence {
method EscapeSequence (line 86) | EscapeSequence() {
method newSequence (line 92) | bool newSequence(int nextChar) noexcept {
method atEscapeEnd (line 101) | [[nodiscard]] bool atEscapeEnd() const noexcept {
method isInvalidChar (line 104) | [[nodiscard]] bool isInvalidChar(int currChar) const noexcept {
type OptionsJSON (line 109) | struct OptionsJSON {
method OptionsJSON (line 114) | OptionsJSON() {
type OptionSetJSON (line 122) | struct OptionSetJSON : public OptionSet<OptionsJSON> {
method OptionSetJSON (line 123) | OptionSetJSON() {
class LexerJSON (line 136) | class LexerJSON : public DefaultLexer {
method IsNextNonWhitespace (line 148) | static bool IsNextNonWhitespace(LexAccessor &styler, Sci_Position star...
method AtPropertyName (line 171) | static bool AtPropertyName(LexAccessor &styler, Sci_Position start) {
method IsNextWordInList (line 191) | static bool IsNextWordInList(const WordList &keywordList, const Charac...
method LexerJSON (line 209) | LexerJSON() :
method Version (line 217) | int SCI_METHOD Version() const override {
method Release (line 220) | void SCI_METHOD Release() override {
method PropertyType (line 226) | int SCI_METHOD PropertyType(const char *name) override {
method Sci_Position (line 232) | Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) ...
method Sci_Position (line 241) | Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override {
method ILexer5 (line 262) | static ILexer5 *LexerFactoryJSON() {
FILE: lexers/LexJulia.cxx
type OptionsJulia (line 46) | struct OptionsJulia {
method OptionsJulia (line 54) | OptionsJulia() {
type OptionSetJulia (line 73) | struct OptionSetJulia : public OptionSet<OptionsJulia> {
method OptionSetJulia (line 74) | OptionSetJulia() {
class LexerJulia (line 123) | class LexerJulia : public DefaultLexer {
method LexerJulia (line 131) | explicit LexerJulia() :
method Release (line 136) | void SCI_METHOD Release() override {
method Version (line 139) | int SCI_METHOD Version() const override {
method PropertyType (line 145) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 165) | static ILexer5 *LexerFactoryJulia() {
function Sci_Position (line 170) | Sci_Position SCI_METHOD LexerJulia::PropertySet(const char *key, const c...
function Sci_Position (line 177) | Sci_Position SCI_METHOD LexerJulia::WordListSet(int n, const char *wl) {
function IsJuliaOperator (line 202) | static inline bool IsJuliaOperator(int ch) {
function IsJuliaUnaryOperator (line 213) | static inline bool IsJuliaUnaryOperator (int ch) {
function IsJuliaParen (line 222) | static inline bool IsJuliaParen (int ch) {
function is_wc_cat_id_start (line 233) | static int is_wc_cat_id_start(uint32_t wc) {
function IsIdentifierFirstCharacter (line 294) | static inline bool IsIdentifierFirstCharacter (int ch) {
function IsIdentifierCharacter (line 305) | static inline bool IsIdentifierCharacter (int ch) {
function jl_op_suffix_char (line 453) | static bool jl_op_suffix_char(uint32_t wc) {
function never_id_char (line 472) | static bool never_id_char(uint32_t wc) {
function IsOperatorFirstCharacter (line 497) | static bool IsOperatorFirstCharacter (int ch) {
function IsOperatorCharacter (line 516) | static bool IsOperatorCharacter (int ch) {
function CheckBoundsIndexing (line 524) | static bool CheckBoundsIndexing(char *str) {
function CheckKeywordFoldPoint (line 531) | static int CheckKeywordFoldPoint(char *str) {
function IsNumberExpon (line 554) | static bool IsNumberExpon(int ch, int base) {
function ScanDigits (line 563) | static bool ScanDigits(StyleContext& sc, int base, bool allow_sep) {
function ScanNHexas (line 576) | static inline bool ScanNHexas(StyleContext &sc, int max) {
function resumeCharacter (line 592) | static void resumeCharacter(StyleContext &sc, bool lexerror) {
function IsACharacter (line 677) | static inline bool IsACharacter(StyleContext &sc) {
function ScanParenInterpolation (line 681) | static void ScanParenInterpolation(StyleContext &sc) {
function initNumber (line 715) | static void initNumber (StyleContext &sc, int &base, bool &with_dot) {
function resumeStringLike (line 744) | static void resumeStringLike(StyleContext &sc, int quote, bool triple, b...
function resumeCommand (line 802) | static void resumeCommand(StyleContext &sc, bool triple, bool allow_inte...
function resumeString (line 806) | static void resumeString(StyleContext &sc, bool triple, bool allow_inter...
function resumeNumber (line 810) | static void resumeNumber (StyleContext &sc, int base, bool &with_dot, bo...
function resumeOperator (line 840) | static void resumeOperator (StyleContext &sc) {
FILE: lexers/LexKVIrc.cxx
function IsAWordChar (line 38) | static inline bool IsAWordChar(int ch) {
function IsAWordStart (line 45) | static inline bool IsAWordStart(int ch) {
function ColouriseKVIrcDoc (line 53) | static void ColouriseKVIrcDoc(Sci_PositionU startPos, Sci_Position length,
function FoldKVIrcDoc (line 359) | static void FoldKVIrcDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexKix.cxx
function IsAWordChar (line 33) | static inline bool IsAWordChar(int ch) {
function IsOperator (line 37) | static inline bool IsOperator(const int ch) {
function ColouriseKixDoc (line 41) | static void ColouriseKixDoc(Sci_PositionU startPos, Sci_Position length,...
FILE: lexers/LexLaTeX.cxx
type latexFoldSave (line 40) | struct latexFoldSave {
method latexFoldSave (line 41) | latexFoldSave() : structLev(0) {
method latexFoldSave (line 44) | latexFoldSave(const latexFoldSave &save) : structLev(save.structLev) {
method latexFoldSave (line 47) | latexFoldSave &operator=(const latexFoldSave &save) {
class LexerLaTeX (line 58) | class LexerLaTeX : public LexerBase {
method setMode (line 61) | void setMode(Sci_Position line, int mode) {
method getMode (line 65) | int getMode(Sci_Position line) {
method truncModes (line 69) | void truncModes(Sci_Position numLines) {
method setSave (line 75) | void setSave(Sci_Position line, const latexFoldSave &save) {
method getSave (line 79) | void getSave(Sci_Position line, latexFoldSave &save) {
method truncSaves (line 86) | void truncSaves(Sci_Position numLines) {
method ILexer5 (line 91) | static ILexer5 *LexerFactoryLaTeX() {
method GetIdentifier (line 101) | int SCI_METHOD GetIdentifier() override {
function latexIsSpecial (line 106) | static bool latexIsSpecial(int ch) {
function latexIsBlank (line 111) | static bool latexIsBlank(int ch) {
function latexIsBlankAndNL (line 115) | static bool latexIsBlankAndNL(int ch) {
function latexIsLetter (line 119) | static bool latexIsLetter(int ch) {
function latexIsTagValid (line 123) | static bool latexIsTagValid(Sci_Position &i, Sci_Position l, Accessor &s...
function latexNextNotBlankIs (line 143) | static bool latexNextNotBlankIs(Sci_Position i, Accessor &styler, char n...
function latexLastWordIs (line 158) | static bool latexLastWordIs(Sci_Position start, Accessor &styler, const ...
function latexLastWordIsMathEnv (line 173) | static bool latexLastWordIsMathEnv(Sci_Position pos, Accessor &styler) {
function latexStateReset (line 195) | static inline void latexStateReset(int &mode, int &state) {
function latexFoldSaveToInt (line 493) | static int latexFoldSaveToInt(const latexFoldSave &save) {
FILE: lexers/LexLisp.cxx
function isLispoperator (line 36) | static inline bool isLispoperator(char ch) {
function isLispwordstart (line 44) | static inline bool isLispwordstart(char ch) {
function classifyWordLisp (line 50) | static void classifyWordLisp(Sci_PositionU start, Sci_PositionU end, Wor...
function ColouriseLispDoc (line 78) | static void ColouriseLispDoc(Sci_PositionU startPos, Sci_Position length...
function FoldLispDoc (line 237) | static void FoldLispDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexLout.cxx
function IsAWordChar (line 31) | static inline bool IsAWordChar(const int ch) {
function IsAnOther (line 35) | static inline bool IsAnOther(const int ch) {
function ColouriseLoutDoc (line 44) | static void ColouriseLoutDoc(Sci_PositionU startPos, Sci_Position length...
function FoldLoutDoc (line 144) | static void FoldLoutDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexLua.cxx
function LongDelimCheck (line 41) | int LongDelimCheck(StyleContext &sc) {
type OptionsLua (line 91) | struct OptionsLua {
type OptionSetLua (line 95) | struct OptionSetLua : public OptionSet<OptionsLua> {
method OptionSetLua (line 96) | OptionSetLua() {
class LexerLua (line 103) | class LexerLua : public DefaultLexer {
method LexerLua (line 116) | explicit LexerLua() :
method LexerLua (line 119) | LexerLua(const LexerLua &) = delete;
method LexerLua (line 120) | LexerLua(LexerLua &&) = delete;
method LexerLua (line 121) | LexerLua &operator=(const LexerLua &) = delete;
method LexerLua (line 122) | LexerLua &operator=(LexerLua &&) = delete;
method Release (line 124) | void SCI_METHOD Release() noexcept override {
method Version (line 127) | [[nodiscard]] int SCI_METHOD Version() const noexcept override {
method PropertyType (line 133) | int SCI_METHOD PropertyType(const char *name) override {
method AllocateSubStyles (line 150) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 153) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 156) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 159) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 163) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 166) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 169) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 172) | int SCI_METHOD DistanceToSecondaryStyles() override {
method ILexer5 (line 179) | static ILexer5 *LexerFactoryLua() {
function Sci_Position (line 184) | Sci_Position SCI_METHOD LexerLua::PropertySet(const char *key, const cha...
function Sci_Position (line 191) | Sci_Position SCI_METHOD LexerLua::WordListSet(int n, const char *wl) {
FILE: lexers/LexMMIXAL.cxx
function IsAWordChar (line 35) | static inline bool IsAWordChar(const int ch) {
function isMMIXALOperator (line 39) | static inline bool isMMIXALOperator(char ch) {
function ColouriseMMIXALDoc (line 52) | static void ColouriseMMIXALDoc(Sci_PositionU startPos, Sci_Position leng...
FILE: lexers/LexMPT.cxx
function GetLotLineState (line 33) | static int GetLotLineState(std::string &line) {
function ColourizeLotDoc (line 82) | static void ColourizeLotDoc(Sci_PositionU startPos, Sci_Position length,...
function FoldLotDoc (line 120) | static void FoldLotDoc(Sci_PositionU startPos, Sci_Position length, int,...
FILE: lexers/LexMSSQL.cxx
function classifyWordSQL (line 39) | static char classifyWordSQL(Sci_PositionU start,
function ColouriseMSSQLDoc (line 105) | static void ColouriseMSSQLDoc(Sci_PositionU startPos, Sci_Position length,
function FoldMSSQLDoc (line 296) | static void FoldMSSQLDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexMagik.cxx
function IsAlphaCore (line 38) | static inline bool IsAlphaCore(int ch) {
function IsAlpha (line 48) | static inline bool IsAlpha(int ch) {
function IsAlphaSym (line 58) | static inline bool IsAlphaSym(int ch) {
function IsAlNum (line 68) | static inline bool IsAlNum(int ch) {
function IsAlNumSym (line 78) | static inline bool IsAlNumSym(int ch) {
function ColouriseMagikDoc (line 91) | static void ColouriseMagikDoc(Sci_PositionU startPos, Sci_Position lengt...
function IsFoldingContainer (line 338) | static inline int IsFoldingContainer(WordList &keywordslist, char * keyw...
function FoldMagikDoc (line 363) | static void FoldMagikDoc(Sci_PositionU startPos, Sci_Position length, int,
FILE: lexers/LexMake.cxx
type OptionsMake (line 38) | struct OptionsMake {
type OptionSetMake (line 46) | struct OptionSetMake : public OptionSet<OptionsMake> {
method OptionSetMake (line 47) | OptionSetMake() {
function AtEOL (line 66) | bool AtEOL(Accessor &styler, Sci_PositionU i) {
class LexerMakeFile (line 71) | class LexerMakeFile : public DefaultLexer {
method LexerMakeFile (line 76) | LexerMakeFile() :
method PropertyType (line 83) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 103) | static ILexer5 *LexerFactoryMakeFile() {
function Sci_Position (line 108) | Sci_Position SCI_METHOD LexerMakeFile::PropertySet(const char *key, cons...
function Sci_Position (line 115) | Sci_Position SCI_METHOD LexerMakeFile::WordListSet(int n, const char *wl) {
FILE: lexers/LexMarkdown.cxx
function IsNewline (line 61) | constexpr bool IsNewline(const int ch) {
function FollowToLineEnd (line 68) | bool FollowToLineEnd(const int ch, const int state, const Sci_PositionU ...
function SetStateAndZoom (line 85) | void SetStateAndZoom(const int state, const Sci_Position length, const i...
function HasPrevLineContent (line 106) | bool HasPrevLineContent(StyleContext &sc) {
function AtTermStart (line 121) | bool AtTermStart(const StyleContext &sc) noexcept {
function IsCompleteStyleRegion (line 125) | bool IsCompleteStyleRegion(StyleContext &sc, const char *token) {
function IsValidHrule (line 141) | bool IsValidHrule(const Sci_PositionU endPos, StyleContext &sc) {
function ColorizeMarkdownDoc (line 165) | void ColorizeMarkdownDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexMatlab.cxx
function IsMatlabCommentChar (line 55) | static bool IsMatlabCommentChar(int c) {
function IsOctaveCommentChar (line 59) | static bool IsOctaveCommentChar(int c) {
function LowerCase (line 63) | static inline int LowerCase(int c) {
function CheckKeywordFoldPoint (line 69) | static int CheckKeywordFoldPoint(char *str) {
function IsSpaceToEOL (line 91) | static bool IsSpaceToEOL(Sci_Position startPos, Accessor &styler) {
function ComposeLineState (line 110) | static int ComposeLineState(int commentDepth,
function ColouriseMatlabOctaveDoc (line 128) | static void ColouriseMatlabOctaveDoc(
function ColouriseMatlabDoc (line 422) | static void ColouriseMatlabDoc(Sci_PositionU startPos, Sci_Position leng...
function ColouriseOctaveDoc (line 427) | static void ColouriseOctaveDoc(Sci_PositionU startPos, Sci_Position leng...
function FoldMatlabOctaveDoc (line 432) | static void FoldMatlabOctaveDoc(Sci_PositionU startPos, Sci_Position len...
function FoldMatlabDoc (line 506) | static void FoldMatlabDoc(Sci_PositionU startPos, Sci_Position length, i...
function FoldOctaveDoc (line 511) | static void FoldOctaveDoc(Sci_PositionU startPos, Sci_Position length, i...
FILE: lexers/LexMaxima.cxx
function isMaximaoperator (line 31) | static inline bool isMaximaoperator(char ch) {
function ColouriseMaximaDoc (line 40) | static void ColouriseMaximaDoc(Sci_PositionU startPos, Sci_Position leng...
FILE: lexers/LexMetapost.cxx
function endOfLine (line 66) | static inline bool endOfLine(Accessor &styler, Sci_PositionU i) {
function isMETAPOSTcomment (line 71) | static inline bool isMETAPOSTcomment(int ch) {
function isMETAPOSTone (line 76) | static inline bool isMETAPOSTone(int ch) {
function isMETAPOSTtwo (line 83) | static inline bool isMETAPOSTtwo(int ch) {
function isMETAPOSTthree (line 88) | static inline bool isMETAPOSTthree(int ch) {
function isMETAPOSTidentifier (line 96) | static inline bool isMETAPOSTidentifier(int ch) {
function isMETAPOSTnumber (line 102) | static inline bool isMETAPOSTnumber(int ch) {
function isMETAPOSTstring (line 107) | static inline bool isMETAPOSTstring(int ch) {
function isMETAPOSTcolon (line 112) | static inline bool isMETAPOSTcolon(int ch) {
function isMETAPOSTequal (line 117) | static inline bool isMETAPOSTequal(int ch) {
function CheckMETAPOSTInterface (line 122) | static int CheckMETAPOSTInterface(
function ColouriseMETAPOSTDoc (line 157) | static void ColouriseMETAPOSTDoc(
function classifyFoldPointMetapost (line 331) | static int classifyFoldPointMetapost(const char* s,WordList *keywordlist...
function ParseMetapostWord (line 341) | static int ParseMetapostWord(Sci_PositionU pos, Accessor &styler, char *...
function FoldMetapostDoc (line 356) | static void FoldMetapostDoc(Sci_PositionU startPos, Sci_Position length,...
FILE: lexers/LexModula.cxx
function IsDigitOfBase (line 43) | static inline bool IsDigitOfBase( unsigned ch, unsigned base ) {
function IsOperator (line 60) | static inline unsigned IsOperator( StyleContext & sc, WordList & op ) {
function IsEOL (line 83) | static inline bool IsEOL( Accessor &styler, Sci_PositionU curPos ) {
function checkStatement (line 92) | static inline bool checkStatement(
function checkEndSemicolon (line 112) | static inline bool checkEndSemicolon(
function checkKeyIdentOper (line 135) | static inline bool checkKeyIdentOper(
function FoldModulaDoc (line 178) | static void FoldModulaDoc( Sci_PositionU startPos,
function skipWhiteSpaces (line 318) | static inline bool skipWhiteSpaces( StyleContext & sc ) {
function ColouriseModulaDoc (line 329) | static void ColouriseModulaDoc( Sci_PositionU startPos,
FILE: lexers/LexMySQL.cxx
function IsAWordChar (line 36) | static inline bool IsAWordChar(int ch) {
function IsAWordStart (line 40) | static inline bool IsAWordStart(int ch) {
function IsANumberChar (line 44) | static inline bool IsANumberChar(int ch) {
function CheckForKeyword (line 57) | static void CheckForKeyword(StyleContext& sc, WordList* keywordlists[], ...
function SetDefaultState (line 93) | static void SetDefaultState(StyleContext& sc, int activeState)
function ForwardDefaultState (line 101) | static void ForwardDefaultState(StyleContext& sc, int activeState)
function ColouriseMySQLDoc (line 109) | static void ColouriseMySQLDoc(Sci_PositionU startPos, Sci_Position lengt...
function IsStreamCommentStyle (line 324) | static bool IsStreamCommentStyle(int style)
function MatchIgnoreCase (line 335) | static bool MatchIgnoreCase(Accessor &styler, Sci_Position currentPos, c...
function FoldMySQLDoc (line 350) | static void FoldMySQLDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexNim.cxx
type NumType (line 43) | enum NumType {
function GetNumStyle (line 52) | int GetNumStyle(const int numType) noexcept {
function IsLetter (line 60) | constexpr bool IsLetter(const int ch) noexcept {
function IsAWordChar (line 65) | bool IsAWordChar(const int ch) noexcept {
function IsNumHex (line 69) | int IsNumHex(const StyleContext &sc) noexcept {
function IsNumBinary (line 73) | int IsNumBinary(const StyleContext &sc) noexcept {
function IsNumOctal (line 77) | int IsNumOctal(const StyleContext &sc) {
function IsNewline (line 81) | constexpr bool IsNewline(const int ch) noexcept {
function IsFuncName (line 85) | bool IsFuncName(const char *str) noexcept {
function IsTripleLiteral (line 105) | constexpr bool IsTripleLiteral(const int style) noexcept {
function IsLineComment (line 109) | constexpr bool IsLineComment(const int style) noexcept {
function IsStreamComment (line 113) | constexpr bool IsStreamComment(const int style) noexcept {
function GetIndent (line 118) | int GetIndent(const Sci_Position line, Accessor &styler) {
function IndentAmount (line 164) | int IndentAmount(const Sci_Position line, Accessor &styler) {
type OptionsNim (line 170) | struct OptionsNim {
method OptionsNim (line 175) | OptionsNim() {
type OptionSetNim (line 187) | struct OptionSetNim : public OptionSet<OptionsNim> {
method OptionSetNim (line 188) | OptionSetNim() {
class LexerNim (line 223) | class LexerNim : public DefaultLexer {
method LexerNim (line 230) | LexerNim() :
method Release (line 236) | void SCI_METHOD Release() noexcept override {
method Version (line 240) | int SCI_METHOD Version() const noexcept override {
method PropertyType (line 248) | int SCI_METHOD PropertyType(const char *name) override {
method LineEndTypesSupported (line 275) | int SCI_METHOD LineEndTypesSupported() noexcept override {
method PrimaryStyleFromStyle (line 279) | int SCI_METHOD PrimaryStyleFromStyle(int style) noexcept override {
method ILexer5 (line 283) | static ILexer5 *LexerFactoryNim() {
function Sci_Position (line 288) | Sci_Position SCI_METHOD LexerNim::PropertySet(const char *key, const cha...
function Sci_Position (line 296) | Sci_Position SCI_METHOD LexerNim::WordListSet(int n, const char *wl) {
FILE: lexers/LexNimrod.cxx
function IsAWordChar (line 34) | static inline bool IsAWordChar(int ch) {
function Sci_Position (line 38) | static Sci_Position tillEndOfTripleQuote(Accessor &styler, Sci_Position ...
function isNewLine (line 53) | static bool inline isNewLine(int ch) {
function Sci_Position (line 57) | static Sci_Position scanString(Accessor &styler, Sci_Position pos, Sci_P...
function Sci_Position (line 71) | static Sci_Position scanChar(Accessor &styler, Sci_Position pos, Sci_Pos...
function Sci_Position (line 86) | static Sci_Position scanIdent(Accessor &styler, Sci_Position pos, WordLi...
function Sci_Position (line 109) | static Sci_Position scanNumber(Accessor &styler, Sci_Position pos) {
function ColouriseNimrodDoc (line 184) | static void ColouriseNimrodDoc(Sci_PositionU startPos, Sci_Position leng...
function IsCommentLine (line 269) | static bool IsCommentLine(Sci_Position line, Accessor &styler) {
function IsQuoteLine (line 282) | static bool IsQuoteLine(Sci_Position line, Accessor &styler) {
function FoldNimrodDoc (line 288) | static void FoldNimrodDoc(Sci_PositionU startPos, Sci_Position length,
FILE: lexers/LexNix.cxx
function IsAGraphic (line 37) | constexpr bool IsAGraphic(int ch) noexcept {
function IsIdentifierChar (line 42) | constexpr bool IsIdentifierChar(int ch) noexcept {
function IsIdentifierStart (line 46) | constexpr bool IsIdentifierStart(int ch) noexcept {
function IsNumberContinue (line 50) | constexpr bool IsNumberContinue(int chPrev, int ch, int chNext) noexcept {
function IsNumberStart (line 55) | constexpr bool IsNumberStart(int ch, int chNext) noexcept {
function IsDecimalNumber (line 59) | constexpr bool IsDecimalNumber(int chPrev, int ch, int chNext) noexcept {
function IsNixIdentifierStart (line 63) | constexpr bool IsNixIdentifierStart(int ch) noexcept {
function IsNixIdentifierChar (line 67) | constexpr bool IsNixIdentifierChar(int ch) noexcept {
function IsPathTerminator (line 71) | constexpr bool IsPathTerminator(int ch) noexcept {
function IsKey (line 75) | bool IsKey(LexAccessor &styler, Sci_Position start) {
function IsPath (line 89) | bool IsPath(LexAccessor &styler, Sci_Position start) {
type InterpolatingState (line 108) | struct InterpolatingState {
type OptionsNix (line 114) | struct OptionsNix {
type OptionSetNix (line 126) | struct OptionSetNix : public OptionSet<OptionsNix> {
method OptionSetNix (line 127) | OptionSetNix() {
class LexerNix (line 156) | class LexerNix : public DefaultLexer {
method LexerNix (line 164) | LexerNix(const char *languageName_, int language_) :
method LexerNix (line 168) | LexerNix(const LexerNix &) = delete;
method LexerNix (line 169) | LexerNix(LexerNix &&) = delete;
method Release (line 174) | void SCI_METHOD Release() override {
method Version (line 177) | int SCI_METHOD Version() const override {
method PropertyType (line 183) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 207) | static ILexer5 *LexerFactoryNix() {
function Sci_Position (line 212) | Sci_Position SCI_METHOD LexerNix::PropertySet(const char *key, const cha...
function Sci_Position (line 219) | Sci_Position SCI_METHOD LexerNix::WordListSet(int n, const char *wl) {
FILE: lexers/LexNsis.cxx
function isNsisNumber (line 58) | static bool isNsisNumber(char ch)
function isNsisChar (line 63) | static bool isNsisChar(char ch)
function isNsisLetter (line 68) | static bool isNsisLetter(char ch)
function NsisNextLineHasElse (line 73) | static bool NsisNextLineHasElse(Sci_PositionU start, Sci_PositionU end, ...
function NsisCmp (line 107) | static int NsisCmp( const char *s1, const char *s2, bool bIgnoreCase )
function calculateFoldNsis (line 115) | static int calculateFoldNsis(Sci_PositionU start, Sci_PositionU end, int...
function classifyWordNsis (line 175) | static int classifyWordNsis(Sci_PositionU start, Sci_PositionU end, Word...
function ColouriseNsisDoc (line 288) | static void ColouriseNsisDoc(Sci_PositionU startPos, Sci_Position length...
function FoldNsisDoc (line 560) | static void FoldNsisDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexNull.cxx
function ColouriseNullDoc (line 31) | static void ColouriseNullDoc(Sci_PositionU startPos, Sci_Position length...
FILE: lexers/LexOScript.cxx
function IsAlpha (line 39) | inline bool IsAlpha(int ch) {
function IsIdentifierChar (line 43) | static inline bool IsIdentifierChar(int ch) {
function IsIdentifierStart (line 49) | static inline bool IsIdentifierStart(int ch) {
function IsNumberChar (line 55) | static inline bool IsNumberChar(int ch, int chNext) {
function IsNaturalNumberStart (line 71) | static inline bool IsNaturalNumberStart(int ch) {
function IsPrefixedNumberStart (line 75) | static inline bool IsPrefixedNumberStart(int ch, int chNext) {
function IsOperator (line 83) | static inline bool IsOperator(int ch) {
function IsDocCommentStart (line 94) | static bool IsDocCommentStart(StyleContext &sc) {
function IsDocCommentEnd (line 110) | static bool IsDocCommentEnd(StyleContext &sc) {
class IdentifierClassifier (line 114) | class IdentifierClassifier {
method IdentifierClassifier (line 126) | IdentifierClassifier(WordList *keywordlists[]) :
method ClassifyIdentifier (line 132) | void ClassifyIdentifier(StyleContext &sc) {
function ColouriseOScriptDoc (line 187) | static void ColouriseOScriptDoc(Sci_PositionU startPos, Sci_Position len...
function IsBlockComment (line 374) | static inline bool IsBlockComment(int style) {
function IsLineComment (line 378) | static bool IsLineComment(Sci_Position line, Accessor &styler) {
function IsPreprocessor (line 394) | static inline bool IsPreprocessor(int style) {
function GetRangeLowered (line 399) | static void GetRangeLowered(Sci_PositionU start, Sci_PositionU end,
function GetForwardWordLowered (line 409) | static void GetForwardWordLowered(Sci_PositionU start, Accessor &styler,
function UpdatePreprocessorFoldLevel (line 419) | static void UpdatePreprocessorFoldLevel(int &levelCurrent,
function UpdateKeywordFoldLevel (line 435) | static void UpdateKeywordFoldLevel(int &levelCurrent, Sci_PositionU last...
function FoldOScriptDoc (line 455) | static void FoldOScriptDoc(Sci_PositionU startPos, Sci_Position length, ...
FILE: lexers/LexOpal.cxx
function getRange (line 30) | inline static void getRange( Sci_PositionU start, Sci_PositionU end, Acc...
function HandleString (line 41) | inline bool HandleString( Sci_PositionU & cur, Sci_PositionU one_too_muc...
function HandleCommentBlock (line 96) | inline bool HandleCommentBlock( Sci_PositionU & cur, Sci_PositionU one_t...
function HandleCommentLine (line 159) | inline bool HandleCommentLine( Sci_PositionU & cur, Sci_PositionU one_to...
function HandlePar (line 244) | inline bool HandlePar( Sci_PositionU & cur, Accessor & styler )
function HandleSpace (line 254) | inline bool HandleSpace( Sci_PositionU & cur, Sci_PositionU one_too_much...
function HandleInteger (line 285) | inline bool HandleInteger( Sci_PositionU & cur, Sci_PositionU one_too_mu...
function HandleWord (line 308) | inline bool HandleWord( Sci_PositionU & cur, Sci_PositionU one_too_much,...
function HandleSkip (line 397) | inline bool HandleSkip( Sci_PositionU & cur, Sci_PositionU one_too_much,...
function ColouriseOpalDoc (line 412) | static void ColouriseOpalDoc( Sci_PositionU startPos, Sci_Position lengt...
FILE: lexers/LexPB.cxx
function IsTypeCharacter (line 59) | static inline bool IsTypeCharacter(const int ch)
function IsAWordChar (line 64) | static inline bool IsAWordChar(const int ch)
function IsAWordStart (line 69) | static inline bool IsAWordStart(const int ch)
function MatchUpperCase (line 74) | static bool MatchUpperCase(Accessor &styler, Sci_Position pos, const cha...
function ColourisePBDoc (line 87) | static void ColourisePBDoc(Sci_PositionU startPos, Sci_Position length, ...
function FoldPBDoc (line 189) | static void FoldPBDoc(Sci_PositionU startPos, Sci_Position length, int, ...
FILE: lexers/LexPLM.cxx
function GetRange (line 29) | static void GetRange(Sci_PositionU start,
function ColourisePlmDoc (line 42) | static void ColourisePlmDoc(Sci_PositionU startPos,
function FoldPlmDoc (line 130) | static void FoldPlmDoc(Sci_PositionU startPos,
FILE: lexers/LexPO.cxx
function ColourisePODoc (line 39) | static void ColourisePODoc(Sci_PositionU startPos, Sci_Position length, ...
function FindNextNonEmptyLineState (line 152) | static int FindNextNonEmptyLineState(Sci_PositionU startPos, Accessor &s...
function FoldPODoc (line 162) | static void FoldPODoc(Sci_PositionU startPos, Sci_Position length, int, ...
FILE: lexers/LexPOV.cxx
function IsAWordChar (line 40) | static inline bool IsAWordChar(int ch) {
function IsAWordStart (line 44) | static inline bool IsAWordStart(int ch) {
function IsANumberChar (line 48) | static inline bool IsANumberChar(int ch) {
function ColourisePovDoc (line 56) | static void ColourisePovDoc(
function FoldPovDoc (line 229) | static void FoldPovDoc(
FILE: lexers/LexPS.cxx
function IsASelfDelimitingChar (line 38) | static inline bool IsASelfDelimitingChar(const int ch) {
function IsAWhitespaceChar (line 44) | static inline bool IsAWhitespaceChar(const int ch) {
function IsABaseNDigit (line 49) | static bool IsABaseNDigit(const int ch, const int base) {
function IsABase85Char (line 63) | static inline bool IsABase85Char(const int ch) {
function ColourisePSDoc (line 67) | static void ColourisePSDoc(
function FoldPSDoc (line 272) | static void FoldPSDoc(Sci_PositionU startPos, Sci_Position length, int, ...
FILE: lexers/LexPascal.cxx
type OptionsPascal (line 139) | struct OptionsPascal {
type OptionSetPascal (line 152) | struct OptionSetPascal : public OptionSet<OptionsPascal> {
method OptionSetPascal (line 153) | OptionSetPascal() {
class LexerPascal (line 189) | class LexerPascal : public DefaultLexer {
method LexerPascal (line 194) | explicit LexerPascal() :
method LexerPascal (line 198) | LexerPascal(const LexerPascal &) = delete;
method LexerPascal (line 199) | LexerPascal(LexerPascal &&) = delete;
method LexerPascal (line 200) | LexerPascal &operator=(const LexerPascal &) = delete;
method LexerPascal (line 201) | LexerPascal &operator=(LexerPascal &&) = delete;
method ILexer5 (line 209) | static ILexer5 *LexerFactoryPascal() {
function Sci_Position (line 214) | Sci_Position SCI_METHOD LexerPascal::PropertySet(const char *key, const ...
function Sci_Position (line 221) | Sci_Position SCI_METHOD LexerPascal::WordListSet(int n, const char *wl) {
function GetRangeLowered (line 239) | void GetRangeLowered(Sci_Position start,
function GetForwardRangeLowered (line 252) | void GetForwardRangeLowered(Sci_Position start,
function ClassifyPascalWord (line 276) | void ClassifyPascalWord(const WordList &keywords, StyleContext &sc, int ...
function IsStreamCommentStyle (line 498) | constexpr bool IsStreamCommentStyle(int style) noexcept {
function IsCommentLine (line 502) | bool IsCommentLine(Sci_Position line, LexAccessor &styler) {
function GetFoldInPreprocessorLevelFlag (line 518) | constexpr unsigned int GetFoldInPreprocessorLevelFlag(int lineFoldStateC...
function SetFoldInPreprocessorLevelFlag (line 522) | void SetFoldInPreprocessorLevelFlag(int &lineFoldStateCurrent, unsigned ...
function ClassifyPascalPreprocessorFoldPoint (line 527) | void ClassifyPascalPreprocessorFoldPoint(int &levelCurrent, int &lineFol...
function Sci_Position (line 560) | Sci_Position SkipWhiteSpace(Sci_Position currentPos, Sci_Position endPos,
function ClassifyPascalWordFoldPoint (line 573) | void ClassifyPascalWordFoldPoint(int &levelCurrent, int &lineFoldStateCu...
FILE: lexers/LexPerl.cxx
function isPerlKeyword (line 96) | bool isPerlKeyword(Sci_PositionU start, Sci_PositionU end, WordList &key...
function disambiguateBareword (line 107) | int disambiguateBareword(LexAccessor &styler, Sci_PositionU bk, Sci_Posi...
function skipWhitespaceComment (line 158) | void skipWhitespaceComment(LexAccessor &styler, Sci_PositionU &p) {
function findPrevLexeme (line 168) | int findPrevLexeme(LexAccessor &styler, Sci_PositionU &bk, int &style) {
function styleBeforeBracePair (line 184) | int styleBeforeBracePair(LexAccessor &styler, Sci_PositionU bk) {
function styleCheckIdentifier (line 211) | int styleCheckIdentifier(LexAccessor &styler, Sci_PositionU bk) {
function podLineScan (line 236) | int podLineScan(LexAccessor &styler, Sci_PositionU &pos, Sci_PositionU e...
function styleCheckSubPrototype (line 260) | bool styleCheckSubPrototype(LexAccessor &styler, Sci_PositionU bk) {
function actualNumStyle (line 318) | int actualNumStyle(int numberStyle) {
function opposite (line 327) | int opposite(int ch) {
function IsCommentLine (line 335) | bool IsCommentLine(Sci_Position line, LexAccessor &styler) {
function IsPackageLine (line 349) | bool IsPackageLine(Sci_Position line, LexAccessor &styler) {
function PodHeadingLevel (line 358) | int PodHeadingLevel(Sci_Position pos, LexAccessor &styler) {
type OptionsPerl (line 369) | struct OptionsPerl {
method OptionsPerl (line 383) | OptionsPerl() {
type OptionSetPerl (line 399) | struct OptionSetPerl : public OptionSet<OptionsPerl> {
method OptionSetPerl (line 400) | OptionSetPerl() {
class LexerPerl (line 494) | class LexerPerl : public DefaultLexer {
method LexerPerl (line 503) | LexerPerl() :
method Release (line 512) | void SCI_METHOD Release() override {
method Version (line 515) | int SCI_METHOD Version() const override {
method PropertyType (line 521) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 542) | static ILexer5 *LexerFactoryPerl() {
function Sci_Position (line 549) | Sci_Position SCI_METHOD LexerPerl::PropertySet(const char *key, const ch...
function Sci_Position (line 556) | Sci_Position SCI_METHOD LexerPerl::WordListSet(int n, const char *wl) {
class HereDocCls (line 707) | class HereDocCls { // Class to manage HERE doc sequence
method HereDocCls (line 718) | HereDocCls() {
method Append (line 726) | void Append(int ch) {
class QuoteCls (line 735) | class QuoteCls { // Class to manage quote pairs
method QuoteCls (line 740) | QuoteCls() {
method New (line 743) | void New(int r = 1) {
method Open (line 749) | void Open(int u) {
FILE: lexers/LexPowerPro.cxx
function IsStreamCommentStyle (line 51) | static inline bool IsStreamCommentStyle(int style) {
function IsLineEndChar (line 55) | static inline bool IsLineEndChar(unsigned char ch) {
function IsContinuationLine (line 61) | static bool IsContinuationLine(Sci_PositionU szLine, Accessor &styler)
function GetStyleFirstWord (line 82) | static int GetStyleFirstWord(Sci_Position szLine, Accessor &styler)
function IsFunction (line 101) | static bool IsFunction(Accessor &styler, Sci_PositionU currentPos) {
function ColourisePowerProDoc (line 132) | static void ColourisePowerProDoc(Sci_PositionU startPos, Sci_Position le...
function FoldPowerProDoc (line 364) | static void FoldPowerProDoc(Sci_PositionU startPos, Sci_Position length,...
function ColourisePowerProDocWrapper (line 624) | static void ColourisePowerProDocWrapper(Sci_PositionU startPos, Sci_Posi...
FILE: lexers/LexPowerShell.cxx
function IsAWordChar (line 32) | static inline bool IsAWordChar(int ch) noexcept {
function IsNumericLiteral (line 36) | static bool IsNumericLiteral(int chPrev, int ch, int chNext) {
function ColourisePowerShellDoc (line 71) | static void ColourisePowerShellDoc(Sci_PositionU startPos, Sci_Position ...
function FoldPowerShellDoc (line 207) | static void FoldPowerShellDoc(Sci_PositionU startPos, Sci_Position lengt...
FILE: lexers/LexProgress.cxx
function highlightTaskMarker (line 54) | void highlightTaskMarker(StyleContext &sc, LexAccessor &styler, WordList...
function IsStreamCommentStyle (line 75) | bool IsStreamCommentStyle(int style) {
type OptionsABL (line 81) | struct OptionsABL {
method OptionsABL (line 87) | OptionsABL() {
type OptionSetABL (line 104) | struct OptionSetABL : public OptionSet<OptionsABL> {
method OptionSetABL (line 105) | OptionSetABL() {
class LexerABL (line 124) | class LexerABL : public DefaultLexer {
method LexerABL (line 139) | LexerABL() :
method Release (line 150) | void SCI_METHOD Release() override {
method Version (line 153) | int SCI_METHOD Version() const override {
method PropertyType (line 159) | int SCI_METHOD PropertyType(const char *name) override {
method LineEndTypesSupported (line 180) | int SCI_METHOD LineEndTypesSupported() override {
method ILexer5 (line 183) | static ILexer5 *LexerFactoryABL() {
function Sci_Position (line 188) | Sci_Position SCI_METHOD LexerABL::PropertySet(const char *key, const cha...
function Sci_Position (line 195) | Sci_Position SCI_METHOD LexerABL::WordListSet(int n, const char *wl) {
FILE: lexers/LexProps.cxx
function AtEOL (line 29) | bool AtEOL(Accessor &styler, Sci_PositionU i) {
function isAssignChar (line 34) | constexpr bool isAssignChar(char ch) noexcept {
function ColourisePropsLine (line 38) | void ColourisePropsLine(
function ColourisePropsDoc (line 82) | void ColourisePropsDoc(Sci_PositionU startPos, Sci_Position length, int,...
function FoldPropsDoc (line 110) | void FoldPropsDoc(Sci_PositionU startPos, Sci_Position length, int, Word...
FILE: lexers/LexPython.cxx
type SingleFStringExpState (line 60) | struct SingleFStringExpState {
type kwType (line 66) | enum kwType { kwOther, kwClass, kwDef, kwImport, kwCDef, kwCTypeName, kw...
type literalsAllowed (line 68) | enum literalsAllowed { litNone = 0, litU = 1, litB = 2, litF = 4, litT =...
function IsPyComment (line 72) | bool IsPyComment(Accessor &styler, Sci_Position pos, Sci_Position len) {
function IsPyStringTypeChar (line 76) | constexpr bool IsPyStringTypeChar(int ch, literalsAllowed allowed) noexc...
function IsQuote (line 84) | constexpr bool IsQuote(int ch) {
function IsRawPrefix (line 88) | constexpr bool IsRawPrefix(int ch) {
function IsPyStringStart (line 92) | bool IsPyStringStart(int ch, int chNext, int chNext2, literalsAllowed al...
function IsPyFStringState (line 114) | constexpr bool IsPyFStringState(int st) noexcept {
function IsPySingleQuoteStringState (line 118) | constexpr bool IsPySingleQuoteStringState(int st) noexcept {
function IsPyTripleQuoteStringState (line 122) | constexpr bool IsPyTripleQuoteStringState(int st) noexcept {
function GetPyStringQuoteChar (line 126) | char GetPyStringQuoteChar(int st) noexcept {
function PushStateToStack (line 135) | void PushStateToStack(int state, std::vector<SingleFStringExpState> &sta...
function PopFromStateStack (line 142) | int PopFromStateStack(std::vector<SingleFStringExpState> &stack, SingleF...
function GetPyStringState (line 160) | int GetPyStringState(Accessor &styler, Sci_Position i, Sci_PositionU *ne...
function IsAWordChar (line 210) | bool IsAWordChar(int ch, bool unicodeIdentifiers) noexcept {
function IsAWordStart (line 221) | bool IsAWordStart(int ch, bool unicodeIdentifiers) noexcept {
function IsFirstNonWhitespace (line 232) | bool IsFirstNonWhitespace(Sci_Position pos, Accessor &styler) {
function GetNextNonWhitespaceChar (line 243) | unsigned char GetNextNonWhitespaceChar(Accessor &styler, Sci_PositionU p...
function IsMatchOrCaseIdentifier (line 262) | bool IsMatchOrCaseIdentifier(const StyleContext &sc, Accessor &styler, c...
type OptionsPython (line 292) | struct OptionsPython {
method literalsAllowed (line 309) | [[nodiscard]] literalsAllowed AllowedLiterals() const noexcept {
type OptionSetPython (line 327) | struct OptionSetPython : public OptionSet<OptionsPython> {
method OptionSetPython (line 328) | OptionSetPython() {
class LexerPython (line 410) | class LexerPython : public DefaultLexer {
method LexerPython (line 419) | explicit LexerPython() :
method Release (line 422) | void SCI_METHOD Release() override {
method Version (line 425) | int SCI_METHOD Version() const override {
method PropertyType (line 431) | int SCI_METHOD PropertyType(const char *name) override {
method LineEndTypesSupported (line 452) | int SCI_METHOD LineEndTypesSupported() override {
method AllocateSubStyles (line 456) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 459) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 462) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 465) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 469) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 472) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 475) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 478) | int SCI_METHOD DistanceToSecondaryStyles() override {
method ILexer5 (line 485) | static ILexer5 *LexerFactoryPython() {
function Sci_Position (line 493) | Sci_Position SCI_METHOD LexerPython::PropertySet(const char *key, const ...
function Sci_Position (line 500) | Sci_Position SCI_METHOD LexerPython::WordListSet(int n, const char *wl) {
function IsCommentLine (line 935) | bool IsCommentLine(Sci_Position line, Accessor &styler) {
function IsQuoteLine (line 948) | bool IsQuoteLine(Sci_Position line, const Accessor &styler) {
FILE: lexers/LexR.cxx
function IsAWordChar (line 30) | inline bool IsAWordChar(int ch) noexcept {
function IsAWordStart (line 34) | inline bool IsAWordStart(int ch) noexcept {
function IsAnOperator (line 38) | constexpr bool IsAnOperator(int ch) noexcept {
function IsOctalOrHex (line 50) | constexpr bool IsOctalOrHex(int ch, bool hex) noexcept {
type EscapeSequence (line 55) | struct EscapeSequence {
method resetEscapeState (line 62) | void resetEscapeState(int state, int chNext) noexcept {
method atEscapeEnd (line 78) | bool atEscapeEnd(int ch) noexcept {
function CheckRawString (line 84) | int CheckRawString(LexAccessor &styler, Sci_Position pos, int &dashCount) {
function ColouriseRDoc (line 105) | void ColouriseRDoc(Sci_PositionU startPos, Sci_Position length, int init...
function FoldRDoc (line 283) | void FoldRDoc(Sci_PositionU startPos, Sci_Position length, int, WordList...
FILE: lexers/LexRaku.cxx
type OptionsRaku (line 118) | struct OptionsRaku {
method OptionsRaku (line 124) | OptionsRaku() {
type OptionSetRaku (line 134) | struct OptionSetRaku : public OptionSet<OptionsRaku> {
method OptionSetRaku (line 135) | OptionSetRaku() {
type DelimPair (line 151) | struct DelimPair {
method DelimPair (line 156) | DelimPair() {
method isCloser (line 163) | bool isCloser(int ch) const {
function IsANewLine (line 176) | constexpr bool IsANewLine(int ch) noexcept {
function IsAWhitespace (line 184) | bool IsAWhitespace(int ch) noexcept {
function IsAlphabet (line 192) | constexpr bool IsAlphabet(int ch) noexcept {
function IsCommentLine (line 202) | bool IsCommentLine(Sci_Position line, LexAccessor &styler, int type = SC...
function ContainsQTo (line 226) | bool ContainsQTo(Sci_Position start, Sci_Position end, LexAccessor &styl...
function GetBracketCloseChar (line 243) | int GetBracketCloseChar(const int ch) noexcept {
function IsValidQuoteOpener (line 288) | bool IsValidQuoteOpener(const int ch, DelimPair &dp, int type = RAKUDELI...
function IsBracketOpenChar (line 327) | bool IsBracketOpenChar(int ch) noexcept {
function IsValidRegOrQAdjacent (line 336) | bool IsValidRegOrQAdjacent(int ch) noexcept {
function IsValidRegOrQPrecede (line 345) | bool IsValidRegOrQPrecede(int ch) noexcept {
function MatchCharInRange (line 354) | bool MatchCharInRange(StyleContext &sc, const Sci_Position length,
function PrevNonWhitespaceChar (line 370) | int PrevNonWhitespaceChar(StyleContext &sc) {
function IsQLangStartAtScPos (line 388) | bool IsQLangStartAtScPos(StyleContext &sc, int &type, const Sci_Position...
function IsRegexStartAtScPos (line 435) | bool IsRegexStartAtScPos(StyleContext &sc, int &type, CharacterSet &set) {
function IsValidIdentPrecede (line 474) | bool IsValidIdentPrecede(int ch) noexcept {
function IsValidDelimiter (line 483) | bool IsValidDelimiter(int ch) noexcept {
function GetDelimiterCloseChar (line 491) | int GetDelimiterCloseChar(int ch) noexcept {
function Sci_Position (line 503) | Sci_Position GetRepeatCharCount(StyleContext &sc, int chMatch, Sci_Posit...
function Sci_Position (line 520) | Sci_Position LengthToDelimiter(StyleContext &sc, const DelimPair &dp,
function Sci_Position (line 580) | Sci_Position LengthToEndHeredoc(const StyleContext &sc, LexAccessor &sty...
function Sci_Position (line 602) | Sci_Position LengthToNextChar(StyleContext &sc, const Sci_Position lengt...
function GetRelativeString (line 618) | void GetRelativeString(StyleContext &sc, Sci_Position offset, Sci_Positi...
class LexerRaku (line 633) | class LexerRaku : public DefaultLexer {
method LexerRaku (line 652) | explicit LexerRaku() :
method LexerRaku (line 662) | LexerRaku(const LexerRaku &) = delete;
method LexerRaku (line 663) | LexerRaku(LexerRaku &&) = delete;
method Release (line 668) | void SCI_METHOD Release() noexcept override {
method Version (line 671) | int SCI_METHOD Version() const noexcept override {
method PropertyType (line 677) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 694) | static ILexer5 *LexerFactoryRaku() {
function Sci_Position (line 814) | Sci_Position SCI_METHOD LexerRaku::PropertySet(const char *key, const ch...
function Sci_Position (line 824) | Sci_Position SCI_METHOD LexerRaku::WordListSet(int n, const char *wl) {
function Sci_Position (line 1010) | Sci_Position LexerRaku::LengthToNonWordChar(StyleContext &sc, Sci_Positi...
FILE: lexers/LexRebol.cxx
function IsAWordChar (line 37) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 41) | static inline bool IsAWordStart(const int ch, const int ch2) {
function IsAnOperator (line 46) | static inline bool IsAnOperator(const int ch, const int ch2, const int c...
function IsBinaryStart (line 65) | static inline bool IsBinaryStart(const int ch, const int ch2, const int ...
function ColouriseRebolDoc (line 72) | static void ColouriseRebolDoc(Sci_PositionU startPos, Sci_Position lengt...
function FoldRebolDoc (line 277) | static void FoldRebolDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexRegistry.cxx
type OptionsRegistry (line 42) | struct OptionsRegistry {
type OptionSetRegistry (line 47) | struct OptionSetRegistry : public OptionSet<OptionsRegistry> {
method OptionSetRegistry (line 48) | OptionSetRegistry() {
class LexerRegistry (line 55) | class LexerRegistry : public DefaultLexer {
method IsStringState (line 59) | static bool IsStringState(int state) {
method IsKeyPathState (line 63) | static bool IsKeyPathState(int state) {
method AtValueType (line 67) | static bool AtValueType(LexAccessor &styler, Sci_Position start) {
method IsNextNonWhitespace (line 81) | static bool IsNextNonWhitespace(LexAccessor &styler, Sci_Position star...
method AtValueName (line 98) | static bool AtValueName(LexAccessor &styler, Sci_Position start) {
method AtKeyPathEnd (line 121) | static bool AtKeyPathEnd(LexAccessor &styler, Sci_Position start) {
method AtGUID (line 137) | static bool AtGUID(LexAccessor &styler, Sci_Position start) {
method LexerRegistry (line 164) | LexerRegistry() : DefaultLexer("registry", SCLEX_REGISTRY) {}
method Version (line 166) | int SCI_METHOD Version() const override {
method Release (line 169) | void SCI_METHOD Release() override {
method PropertyType (line 175) | int SCI_METHOD PropertyType(const char *name) override {
method Sci_Position (line 181) | Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) ...
method Sci_Position (line 191) | Sci_Position SCI_METHOD WordListSet(int, const char *) override {
method ILexer5 (line 197) | static ILexer5 *LexerFactoryRegistry() {
FILE: lexers/LexRuby.cxx
function isEOLChar (line 41) | constexpr bool isEOLChar(char ch) noexcept {
function isSafeASCII (line 45) | constexpr bool isSafeASCII(char ch) noexcept {
function isHighBitChar (line 50) | constexpr bool isHighBitChar(char ch) noexcept {
function isSafeAlpha (line 54) | bool isSafeAlpha(char ch) noexcept {
function isSafeAlphaOrHigh (line 58) | bool isSafeAlphaOrHigh(char ch) noexcept {
function isSafeAlnum (line 62) | bool isSafeAlnum(char ch) noexcept {
function isSafeAlnumOrHigh (line 66) | bool isSafeAlnumOrHigh(char ch) noexcept {
function isSafeDigit (line 70) | bool isSafeDigit(char ch) noexcept {
function isSafeWordcharOrHigh (line 74) | bool isSafeWordcharOrHigh(char ch) noexcept {
function isWhiteSpace (line 81) | constexpr bool isWhiteSpace(char ch) noexcept {
function isOperatorName (line 85) | constexpr bool isOperatorName(char ch) noexcept {
function isQuestionMarkChar (line 90) | bool isQuestionMarkChar(char chNext, char chNext2) noexcept {
function Sci_Position (line 99) | Sci_Position GetEscapeSequenceLength(LexAccessor &styler, Sci_Position p...
type OptionsRuby (line 137) | struct OptionsRuby {
type OptionSetRuby (line 147) | struct OptionSetRuby : public OptionSet<OptionsRuby> {
method OptionSetRuby (line 148) | OptionSetRuby() {
class LexerRuby (line 207) | class LexerRuby : public DefaultLexer {
method LexerRuby (line 213) | LexerRuby() :
method LexerRuby (line 217) | LexerRuby(const LexerRuby &) = delete;
method LexerRuby (line 218) | LexerRuby(LexerRuby &&) = delete;
method PropertyType (line 226) | int SCI_METHOD PropertyType(const char *name) override {
method AllocateSubStyles (line 244) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 247) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 250) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 253) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 257) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 260) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 263) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 266) | int SCI_METHOD DistanceToSecondaryStyles() override {
method ILexer5 (line 273) | static ILexer5 *LexerFactoryRuby() {
function Sci_Position (line 278) | Sci_Position SCI_METHOD LexerRuby::PropertySet(const char *key, const ch...
function Sci_Position (line 285) | Sci_Position SCI_METHOD LexerRuby::WordListSet(int n, const char *wl) {
function followsDot (line 301) | bool followsDot(Sci_PositionU pos, Accessor &styler) {
function IsIdentifierStyle (line 323) | constexpr bool IsIdentifierStyle(int style) noexcept {
function ClassifyWordRb (line 335) | int ClassifyWordRb(Sci_PositionU end, char ch, char chNext, const WordLi...
function isMatch (line 402) | bool isMatch(Accessor &styler, Sci_Position lengthDoc, Sci_Position pos,...
function lookingAtHereDocDelim (line 419) | bool lookingAtHereDocDelim(Accessor &styler, Sci_Position pos, Sci_Posit...
function opposite (line 435) | constexpr char opposite(char ch) noexcept {
function redo_char (line 450) | void redo_char(Sci_Position &i, char &ch, char &chNext, char &chNext2, i...
function advance_char (line 457) | void advance_char(Sci_Position &i, char &ch, char &chNext, char &chNext2...
function currLineContainsHereDelims (line 464) | bool currLineContainsHereDelims(Sci_Position &startPos, Accessor &styler) {
class QuoteCls (line 493) | class QuoteCls {
method QuoteCls (line 498) | QuoteCls() noexcept = default;
method New (line 499) | void New() noexcept {
method Open (line 504) | void Open(char u) noexcept {
function isPercentLiteral (line 511) | constexpr bool isPercentLiteral(int state) noexcept {
function isInterpolableLiteral (line 523) | constexpr bool isInterpolableLiteral(int state) noexcept {
function isSingleSpecialVariable (line 531) | constexpr bool isSingleSpecialVariable(char ch) noexcept {
function InterpolateVariable (line 536) | void InterpolateVariable(LexAccessor &styler, int state, Sci_Position &i...
function isEmptyLine (line 573) | bool isEmptyLine(Sci_Position pos, Accessor &styler) {
function RE_CanFollowKeyword (line 580) | bool RE_CanFollowKeyword(const std::string &keyword) noexcept {
function Sci_Position (line 603) | Sci_Position skipWhitespace(Sci_Position startPos, Sci_Position endPos, ...
function sureThisIsHeredoc (line 618) | bool sureThisIsHeredoc(Sci_Position iPrev, Accessor &styler, std::string...
function haveTargetMatch (line 660) | bool haveTargetMatch(Sci_Position currPos, Sci_Position lengthDoc, Sci_P...
function Sci_Position (line 676) | Sci_Position findExpressionStart(Sci_Position pos, Sci_Position min_pos,...
function sureThisIsNotHeredoc (line 711) | bool sureThisIsNotHeredoc(Sci_Position lt2StartPos, Accessor &styler) {
function synchronizeDocStart (line 879) | void synchronizeDocStart(Sci_PositionU &startPos, Sci_Position &length, ...
class HereDocCls (line 939) | class HereDocCls {
class InnerExpression (line 1008) | class InnerExpression {
method canEnter (line 1019) | [[nodiscard]] bool canEnter() const noexcept {
method canExit (line 1022) | [[nodiscard]] bool canExit() const noexcept {
method enter (line 1025) | void enter(int &state, const QuoteCls &curr_quote) noexcept {
method exit (line 1033) | void exit(int &state, QuoteCls &curr_quote) noexcept {
function getPrevWord (line 1778) | std::string getPrevWord(Sci_Position pos, Accessor &styler, int word_sta...
function keywordIsAmbiguous (line 1793) | bool keywordIsAmbiguous(const std::string &prevWord) noexcept {
function keywordIsModifier (line 1803) | bool keywordIsModifier(const std::string &word, Sci_Position pos, Access...
function keywordDoStartsLoop (line 1910) | bool keywordDoStartsLoop(Sci_Position pos, Accessor &styler) {
function IsCommentLine (line 1952) | bool IsCommentLine(Sci_Position line, Accessor &styler) {
type MethodDefinition (line 2035) | enum class MethodDefinition {
FILE: lexers/LexRust.cxx
type StringType (line 45) | enum class StringType : int {
function IsStreamCommentStyle (line 55) | static bool IsStreamCommentStyle(int style) noexcept {
type OptionsRust (line 61) | struct OptionsRust {
method OptionsRust (line 73) | OptionsRust() {
type OptionSetRust (line 99) | struct OptionSetRust : public OptionSet<OptionsRust> {
method OptionSetRust (line 100) | OptionSetRust() {
class LexerRust (line 164) | class LexerRust : public DefaultLexer {
method LexerRust (line 169) | LexerRust() : DefaultLexer("rust", SCLEX_RUST, lexicalClasses, std::si...
method Release (line 173) | void SCI_METHOD Release() override {
method Version (line 176) | int SCI_METHOD Version() const override {
method PropertyType (line 182) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 201) | static ILexer5 *LexerFactoryRust() {
function Sci_Position (line 206) | Sci_Position SCI_METHOD LexerRust::PropertySet(const char *key, const ch...
function Sci_Position (line 213) | Sci_Position SCI_METHOD LexerRust::WordListSet(int n, const char *wl) {
function IsWhitespace (line 224) | static bool IsWhitespace(int c) {
function IsIdentifierStart (line 229) | static bool IsIdentifierStart(int ch) {
function IsIdentifierContinue (line 234) | static bool IsIdentifierContinue(int ch) {
function ScanWhitespace (line 238) | static void ScanWhitespace(Accessor& styler, Sci_Position& pos, Sci_Posi...
function GrabString (line 247) | static void GrabString(char* s, Accessor& styler, Sci_Position start, Sc...
function ScanRawIdentifier (line 253) | static void ScanRawIdentifier(Accessor& styler, Sci_Position& pos) {
function ScanIdentifier (line 271) | static void ScanIdentifier(Accessor& styler, Sci_Position& pos, WordList...
function ScanDigits (line 299) | static bool ScanDigits(Accessor& styler, Sci_Position& pos, int base) {
function ScanNumber (line 312) | static void ScanNumber(Accessor& styler, Sci_Position& pos) {
function IsOneCharOperator (line 404) | static bool IsOneCharOperator(int c) {
function IsTwoCharOperator (line 414) | static bool IsTwoCharOperator(int c, int n) {
function IsThreeCharOperator (line 427) | static bool IsThreeCharOperator(int c, int n, int n2) {
function IsValidCharacterEscape (line 432) | static bool IsValidCharacterEscape(int c) {
function IsValidStringEscape (line 437) | static bool IsValidStringEscape(int c) {
function ScanNumericEscape (line 441) | static bool ScanNumericEscape(Accessor &styler, Sci_Position& pos, Sci_P...
function ScanCharacterLiteralOrLifetime (line 460) | static void ScanCharacterLiteralOrLifetime(Accessor &styler, Sci_Positio...
type CommentState (line 540) | enum CommentState {
function ResumeBlockComment (line 550) | static void ResumeBlockComment(Accessor &styler, Sci_Position& pos, Sci_...
function ResumeLineComment (line 605) | static void ResumeLineComment(Accessor &styler, Sci_Position& pos, Sci_P...
function ScanComments (line 629) | static void ScanComments(Accessor &styler, Sci_Position& pos, Sci_Positi...
function ResumeString (line 639) | static void ResumeString(Accessor &styler, Sci_Position& pos, Sci_Positi...
function ResumeRawString (line 691) | static void ResumeRawString(Accessor &styler, Sci_Position& pos, Sci_Pos...
function ScanRawString (line 720) | static void ScanRawString(Accessor &styler, Sci_Position& pos, Sci_Posit...
FILE: lexers/LexSAS.cxx
function ColouriseSASDoc (line 38) | static void ColouriseSASDoc(Sci_PositionU startPos, Sci_Position length,...
function FoldSASDoc (line 159) | static void FoldSASDoc(Sci_PositionU startPos, Sci_Position length, int,...
FILE: lexers/LexSINEX.cxx
function AtEOL (line 51) | inline bool AtEOL(Accessor &styler, Sci_PositionU i) {
function IsCommentLine (line 57) | inline bool IsCommentLine(Accessor &styler, Sci_Position line) {
function IsSINEXNumber (line 67) | inline bool IsSINEXNumber(const char *text, Sci_PositionU len) {
function IsSINEXDate (line 133) | inline bool IsSINEXDate(const char *text, Sci_PositionU len) {
function Sci_PositionU (line 144) | static Sci_PositionU FindNextSpace(const char *text,
function ColouriseSinexLine (line 155) | void ColouriseSinexLine(
function ColouriseSinexDoc (line 203) | void ColouriseSinexDoc(Sci_PositionU startPos, Sci_Position length, int,...
function FoldSinexDoc (line 226) | void FoldSinexDoc(Sci_PositionU startPos, Sci_Position length, int, Word...
FILE: lexers/LexSML.cxx
function issml (line 34) | inline int issml(int c) {return isalnum(c) || c == '_';}
function issmlf (line 35) | inline int issmlf(int c) {return isalpha(c) || c == '_';}
function issmld (line 36) | inline int issmld(int c) {return isdigit(c) || c == '_';}
function ColouriseSMLDoc (line 41) | static void ColouriseSMLDoc(
function FoldSMLDoc (line 213) | static void FoldSMLDoc(
FILE: lexers/LexSQL.cxx
function IsAWordChar (line 41) | bool IsAWordChar(int ch, bool sqlAllowDottedWord) noexcept {
function IsAWordStart (line 48) | bool IsAWordStart(int ch) noexcept {
function IsADoxygenChar (line 52) | bool IsADoxygenChar(int ch) noexcept {
function IsANumberChar (line 59) | bool IsANumberChar(int ch, int chPrev) noexcept {
class SQLStates (line 69) | class SQLStates {
method Set (line 71) | void Set(Sci_Position lineNumber, unsigned short int sqlStatesLine) {
method sql_state_t (line 75) | sql_state_t IgnoreWhen (sql_state_t sqlStatesLine, bool enable) noexce...
method sql_state_t (line 84) | sql_state_t IntoCondition (sql_state_t sqlStatesLine, bool enable) noe...
method sql_state_t (line 93) | sql_state_t IntoExceptionBlock (sql_state_t sqlStatesLine, bool enable...
method sql_state_t (line 102) | sql_state_t IntoDeclareBlock (sql_state_t sqlStatesLine, bool enable) ...
method sql_state_t (line 111) | sql_state_t IntoMergeStatement (sql_state_t sqlStatesLine, bool enable...
method sql_state_t (line 120) | sql_state_t CaseMergeWithoutWhenFound (sql_state_t sqlStatesLine, bool...
method sql_state_t (line 128) | sql_state_t IntoSelectStatementOrAssignment (sql_state_t sqlStatesLine...
method sql_state_t (line 136) | sql_state_t BeginCaseBlock (sql_state_t sqlStatesLine) noexcept {
method sql_state_t (line 143) | sql_state_t EndCaseBlock (sql_state_t sqlStatesLine) noexcept {
method sql_state_t (line 150) | sql_state_t IntoCreateStatement (sql_state_t sqlStatesLine, bool enabl...
method sql_state_t (line 159) | sql_state_t IntoCreateViewStatement (sql_state_t sqlStatesLine, bool e...
method sql_state_t (line 168) | sql_state_t IntoCreateViewAsStatement (sql_state_t sqlStatesLine, bool...
method IsIgnoreWhen (line 177) | bool IsIgnoreWhen (sql_state_t sqlStatesLine) noexcept {
method IsIntoCondition (line 181) | bool IsIntoCondition (sql_state_t sqlStatesLine) noexcept {
method IsIntoCaseBlock (line 185) | bool IsIntoCaseBlock (sql_state_t sqlStatesLine) noexcept {
method IsIntoExceptionBlock (line 189) | bool IsIntoExceptionBlock (sql_state_t sqlStatesLine) noexcept {
method IsIntoSelectStatementOrAssignment (line 192) | bool IsIntoSelectStatementOrAssignment (sql_state_t sqlStatesLine) noe...
method IsCaseMergeWithoutWhenFound (line 195) | bool IsCaseMergeWithoutWhenFound (sql_state_t sqlStatesLine) noexcept {
method IsIntoDeclareBlock (line 199) | bool IsIntoDeclareBlock (sql_state_t sqlStatesLine) noexcept {
method IsIntoMergeStatement (line 203) | bool IsIntoMergeStatement (sql_state_t sqlStatesLine) noexcept {
method IsIntoCreateStatement (line 207) | bool IsIntoCreateStatement (sql_state_t sqlStatesLine) noexcept {
method IsIntoCreateViewStatement (line 211) | bool IsIntoCreateViewStatement (sql_state_t sqlStatesLine) noexcept {
method IsIntoCreateViewAsStatement (line 215) | bool IsIntoCreateViewAsStatement (sql_state_t sqlStatesLine) noexcept {
method sql_state_t (line 219) | sql_state_t ForLine(Sci_Position lineNumber) {
method SQLStates (line 223) | SQLStates() {}
type OptionsSQL (line 243) | struct OptionsSQL {
method OptionsSQL (line 253) | OptionsSQL() {
type OptionSetSQL (line 278) | struct OptionSetSQL : public OptionSet<OptionsSQL> {
method OptionSetSQL (line 279) | OptionSetSQL() {
class LexerSQL (line 309) | class LexerSQL : public DefaultLexer {
method LexerSQL (line 311) | LexerSQL() : DefaultLexer("sql", SCLEX_SQL) {}
method SCI_METHOD (line 315) | int SCI_METHOD Version () const override {
method Release (line 319) | void SCI_METHOD Release() override {
method PropertyType (line 327) | int SCI_METHOD PropertyType(const char *name) override {
method Sci_Position (line 335) | Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) ...
method ILexer5 (line 358) | static ILexer5 *LexerFactorySQL() {
method IsStreamCommentStyle (line 362) | bool IsStreamCommentStyle(int style) noexcept {
method IsCommentStyle (line 369) | bool IsCommentStyle (int style) noexcept {
method IsCommentLine (line 383) | bool IsCommentLine (Sci_Position line, LexAccessor &styler) {
function Sci_Position (line 411) | Sci_Position SCI_METHOD LexerSQL::WordListSet(int n, const char *wl) {
FILE: lexers/LexSTTXT.cxx
function ClassifySTTXTWord (line 32) | static void ClassifySTTXTWord(WordList *keywordlists[], StyleContext &sc)
function ColouriseSTTXTDoc (line 64) | static void ColouriseSTTXTDoc (Sci_PositionU startPos, Sci_Position leng...
function IsCommentLine (line 203) | static bool IsCommentLine(Sci_Position line, Accessor &styler, bool type)
function IsPragmaLine (line 240) | static bool IsPragmaLine(Sci_Position line, Accessor &styler)
function GetRangeUpper (line 258) | static void GetRangeUpper(Sci_PositionU start,Sci_PositionU end,Accessor...
function ClassifySTTXTWordFoldPoint (line 268) | static void ClassifySTTXTWordFoldPoint(int &levelCurrent,Sci_PositionU l...
function FoldSTTXTDoc (line 325) | static void FoldSTTXTDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexScriptol.cxx
function ClassifyWordSol (line 29) | static void ClassifyWordSol(Sci_PositionU start, Sci_PositionU end, Word...
function IsSolComment (line 54) | static bool IsSolComment(Accessor &styler, Sci_Position pos, Sci_Positio...
function IsSolStringStart (line 73) | static bool IsSolStringStart(char ch)
function IsSolWordStart (line 79) | static bool IsSolWordStart(char ch)
function GetSolStringState (line 85) | static int GetSolStringState(Accessor &styler, Sci_Position i, Sci_Posit...
function ColouriseSolDoc (line 113) | static void ColouriseSolDoc(Sci_PositionU startPos, Sci_Position length,...
function FoldSolDoc (line 321) | static void FoldSolDoc(Sci_PositionU startPos, Sci_Position length, int ...
FILE: lexers/LexSmalltalk.cxx
function isDecDigit (line 82) | static inline bool isDecDigit(int ch) {return (ch > 0) && (ch < 0x80) &&...
function isLetter (line 83) | static inline bool isLetter(int ch) {return (ch > 0) && (ch < 0x80) && (...
function isSpecial (line 84) | static inline bool isSpecial(int ch) {return (ch > 0) && (ch < 0x80) && ...
function isUpper (line 85) | static inline bool isUpper(int ch) {return (ch > 0) && (ch < 0x80) && ((...
function isBinSel (line 86) | static inline bool isBinSel(int ch) {return (ch > 0) && (ch < 0x80) && (...
function isAlphaNumeric (line 89) | static inline bool isAlphaNumeric(int ch) {
function isDigitOfRadix (line 93) | static inline bool isDigitOfRadix(int ch, int radix)
function skipComment (line 103) | static inline void skipComment(StyleContext& sc)
function skipString (line 109) | static inline void skipString(StyleContext& sc)
function handleHash (line 121) | static void handleHash(StyleContext& sc)
function handleSpecial (line 146) | static inline void handleSpecial(StyleContext& sc)
function skipInt (line 160) | static inline void skipInt(StyleContext& sc, int radix)
function handleNumeric (line 166) | static void handleNumeric(StyleContext& sc)
function handleBinSel (line 216) | static inline void handleBinSel(StyleContext& sc)
function handleLetter (line 223) | static void handleLetter(StyleContext& sc, WordList* specialSelectorList)
function colorizeSmalltalkDoc (line 272) | static void colorizeSmalltalkDoc(Sci_PositionU startPos, Sci_Position le...
FILE: lexers/LexSorcus.cxx
function IsSWordStart (line 36) | static inline bool IsSWordStart(const int ch, const int prev_ch)
function IsSorcusNumber (line 46) | static inline bool IsSorcusNumber(const int ch, const int prev_ch)
function IsSorcusOperator (line 56) | static inline bool IsSorcusOperator(const int ch)
function ColouriseSorcusDoc (line 65) | static void ColouriseSorcusDoc(Sci_PositionU startPos, Sci_Position leng...
FILE: lexers/LexSpecman.cxx
function IsAWordChar (line 32) | static inline bool IsAWordChar(const int ch) {
function IsANumberChar (line 36) | static inline bool IsANumberChar(const int ch) {
function IsAWordStart (line 40) | static inline bool IsAWordStart(const int ch) {
function ColouriseSpecmanDoc (line 44) | static void ColouriseSpecmanDoc(Sci_PositionU startPos, Sci_Position len...
function FoldNoBoxSpecmanDoc (line 204) | static void FoldNoBoxSpecmanDoc(Sci_PositionU startPos, Sci_Position len...
function FoldSpecmanDoc (line 273) | static void FoldSpecmanDoc(Sci_PositionU startPos, Sci_Position length, ...
function ColouriseSpecmanDocSensitive (line 287) | static void ColouriseSpecmanDocSensitive(Sci_PositionU startPos, Sci_Pos...
FILE: lexers/LexSpice.cxx
function ColouriseComment (line 64) | static void ColouriseComment(StyleContext& sc, bool&) {
function ColouriseDelimiter (line 71) | static void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsA...
function ColouriseNumber (line 77) | static void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttr...
function ColouriseWhiteSpace (line 100) | static void ColouriseWhiteSpace(StyleContext& sc, bool& ) {
function ColouriseWord (line 105) | static void ColouriseWord(StyleContext& sc, WordList& keywords, WordList...
function ColouriseDocument (line 137) | static void ColouriseDocument(
function IsDelimiterCharacter (line 179) | static inline bool IsDelimiterCharacter(int ch) {
function IsSeparatorOrDelimiterCharacter (line 203) | static inline bool IsSeparatorOrDelimiterCharacter(int ch) {
FILE: lexers/LexStata.cxx
function ColouriseStataDoc (line 38) | static void ColouriseStataDoc(Sci_PositionU startPos, Sci_Position lengt...
function FoldStataDoc (line 143) | static void FoldStataDoc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexTACL.cxx
function isTACLoperator (line 34) | inline bool isTACLoperator(char ch)
function isTACLwordchar (line 39) | inline bool isTACLwordchar(char ch)
function isTACLwordstart (line 44) | inline bool isTACLwordstart(char ch)
function getRange (line 49) | static void getRange(Sci_PositionU start,
function IsStreamCommentStyle (line 62) | static bool IsStreamCommentStyle(int style) {
function ColourTo (line 69) | static void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int a...
function classifyWordTACL (line 77) | static int classifyWordTACL(Sci_PositionU start, Sci_PositionU end, /*Wo...
function classifyFoldPointTACL (line 117) | static int classifyFoldPointTACL(const char* s) {
function ColouriseTACLDoc (line 126) | static void ColouriseTACLDoc(Sci_PositionU startPos, Sci_Position length...
function FoldTACLDoc (line 284) | static void FoldTACLDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexTADS3.cxx
function IsEOL (line 62) | static inline bool IsEOL(const int ch, const int chNext) {
function IsEOLSkip (line 79) | static inline bool IsEOLSkip(StyleContext &sc)
function IsATADS3Operator (line 96) | static inline bool IsATADS3Operator(const int ch) {
function IsAWordChar (line 104) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 108) | static inline bool IsAWordStart(const int ch) {
function IsAHexDigit (line 112) | static inline bool IsAHexDigit(const int ch) {
function IsAnHTMLChar (line 118) | static inline bool IsAnHTMLChar(int ch) {
function IsADirectiveChar (line 122) | static inline bool IsADirectiveChar(int ch) {
function IsANumberStart (line 126) | static inline bool IsANumberStart(StyleContext &sc) {
function ColouriseTADS3Operator (line 131) | inline static void ColouriseTADS3Operator(StyleContext &sc) {
function ColouriseTADSHTMLString (line 138) | static void ColouriseTADSHTMLString(StyleContext &sc, int &lineState) {
function ColouriseTADS3HTMLTagStart (line 198) | static void ColouriseTADS3HTMLTagStart(StyleContext &sc) {
function ColouriseTADS3HTMLTag (line 209) | static void ColouriseTADS3HTMLTag(StyleContext &sc, int &lineState) {
function ColouriseTADS3Keyword (line 272) | static void ColouriseTADS3Keyword(StyleContext &sc,
function ColouriseTADS3MsgParam (line 306) | static void ColouriseTADS3MsgParam(StyleContext &sc, int &lineState) {
function ColouriseTADS3LibDirective (line 347) | static void ColouriseTADS3LibDirective(StyleContext &sc, int &lineState) {
function ColouriseTADS3String (line 385) | static void ColouriseTADS3String(StyleContext &sc, int &lineState) {
function ColouriseTADS3Comment (line 449) | static void ColouriseTADS3Comment(StyleContext &sc, int endState) {
function ColouriseToEndOfLine (line 464) | static void ColouriseToEndOfLine(StyleContext &sc, int initState, int en...
function ColouriseTADS3Number (line 481) | static void ColouriseTADS3Number(StyleContext &sc) {
function ColouriseTADS3Doc (line 517) | static void ColouriseTADS3Doc(Sci_PositionU startPos, Sci_Position lengt...
function IsStringTransition (line 679) | static inline bool IsStringTransition(int s1, int s2) {
function IsATADS3Punctuation (line 689) | static inline bool IsATADS3Punctuation(const int ch) {
function IsAnIdentifier (line 693) | static inline bool IsAnIdentifier(const int style) {
function IsAnOperator (line 700) | static inline bool IsAnOperator(const int style) {
function IsSpaceEquivalent (line 704) | static inline bool IsSpaceEquivalent(const int ch, const int style) {
function peekAhead (line 711) | static char peekAhead(Sci_PositionU startPos, Sci_PositionU endPos,
function FoldTADS3Doc (line 732) | static void FoldTADS3Doc(Sci_PositionU startPos, Sci_Position length, in...
FILE: lexers/LexTAL.cxx
function isTALoperator (line 34) | inline bool isTALoperator(char ch)
function isTALwordchar (line 39) | inline bool isTALwordchar(char ch)
function isTALwordstart (line 44) | inline bool isTALwordstart(char ch)
function getRange (line 49) | static void getRange(Sci_PositionU start,
function IsStreamCommentStyle (line 62) | static bool IsStreamCommentStyle(int style) {
function ColourTo (line 69) | static void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int a...
function classifyWordTAL (line 77) | static int classifyWordTAL(Sci_PositionU start, Sci_PositionU end, /*Wor...
function classifyFoldPointTAL (line 113) | static int classifyFoldPointTAL(const char* s) {
function ColouriseTALDoc (line 126) | static void ColouriseTALDoc(Sci_PositionU startPos, Sci_Position length,...
function FoldTALDoc (line 272) | static void FoldTALDoc(Sci_PositionU startPos, Sci_Position length, int ...
FILE: lexers/LexTCL.cxx
function IsAWordChar (line 32) | static inline bool IsAWordChar(int ch) {
function IsAWordStart (line 37) | static inline bool IsAWordStart(int ch) {
function IsANumberChar (line 41) | static inline bool IsANumberChar(int ch) {
function ColouriseTCLDoc (line 49) | static void ColouriseTCLDoc(Sci_PositionU startPos, Sci_Position length,...
FILE: lexers/LexTCMD.cxx
function IsAlphabetic (line 33) | static bool IsAlphabetic(int ch) {
function AtEOL (line 37) | static inline bool AtEOL(Accessor &styler, Sci_PositionU i) {
function IsBOperator (line 42) | static bool IsBOperator(char ch) {
function IsBSeparator (line 47) | static bool IsBSeparator(char ch) {
function GetBatchVarLen (line 52) | static unsigned int GetBatchVarLen( char *wordBuffer )
function ColouriseTCMDLine (line 96) | static void ColouriseTCMDLine( char *lineBuffer, Sci_PositionU lengthLin...
function ColouriseTCMDDoc (line 405) | static void ColouriseTCMDDoc( Sci_PositionU startPos, Sci_Position lengt...
function StrUpr (line 430) | static void StrUpr(char *s) {
function FoldTCMDDoc (line 438) | static void FoldTCMDDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexTOML.cxx
function IsEOLChar (line 31) | constexpr bool IsEOLChar(int ch) noexcept {
function IsIdentifierChar (line 35) | constexpr bool IsIdentifierChar(int ch) noexcept {
function IsNumberContinue (line 39) | constexpr bool IsNumberContinue(int chPrev, int ch, int chNext) noexcept {
function IsDecimalNumber (line 44) | constexpr bool IsDecimalNumber(int chPrev, int ch, int chNext) noexcept {
function IsISODateTime (line 48) | constexpr bool IsISODateTime(int ch, int chNext) noexcept {
type EscapeSequence (line 53) | struct EscapeSequence {
method resetEscapeState (line 58) | bool resetEscapeState(int state, int chNext) noexcept {
method atEscapeEnd (line 73) | bool atEscapeEnd(int ch) noexcept {
function IsTripleString (line 79) | constexpr bool IsTripleString(int state) noexcept {
function IsDoubleQuoted (line 83) | constexpr bool IsDoubleQuoted(int state) noexcept {
function GetStringQuote (line 87) | constexpr int GetStringQuote(int state) noexcept {
function IsTOMLOperator (line 91) | constexpr bool IsTOMLOperator(int ch) noexcept {
function IsTOMLUnquotedKey (line 95) | constexpr bool IsTOMLUnquotedKey(int ch) noexcept {
function IsWhiteSpace (line 99) | constexpr bool IsWhiteSpace(int ch) noexcept {
function GetLineNextChar (line 103) | int GetLineNextChar(StyleContext& sc) {
function IsTOMLKey (line 122) | bool IsTOMLKey(StyleContext& sc, int braceCount, const WordList *kwList) {
type TOMLLineType (line 144) | enum class TOMLLineType {
type TOMLKeyState (line 150) | enum class TOMLKeyState {
function ColouriseTOMLDoc (line 157) | void ColouriseTOMLDoc(Sci_PositionU startPos, Sci_Position lengthDoc, in...
function TOMLLineType (line 410) | constexpr TOMLLineType GetLineType(int lineState) noexcept {
function GetTableLevel (line 414) | constexpr int GetTableLevel(int lineState) noexcept {
function FoldTOMLDoc (line 419) | void FoldTOMLDoc(Sci_PositionU startPos, Sci_Position lengthDoc, int /*i...
FILE: lexers/LexTeX.cxx
function endOfLine (line 73) | static inline bool endOfLine(Accessor &styler, Sci_PositionU i) {
function isTeXzero (line 78) | static inline bool isTeXzero(int ch) {
function isTeXone (line 83) | static inline bool isTeXone(int ch) {
function isTeXtwo (line 90) | static inline bool isTeXtwo(int ch) {
function isTeXthree (line 95) | static inline bool isTeXthree(int ch) {
function isTeXfour (line 102) | static inline bool isTeXfour(int ch) {
function isTeXfive (line 107) | static inline bool isTeXfive(int ch) {
function isTeXsix (line 113) | static inline bool isTeXsix(int ch) {
function isTeXseven (line 118) | static inline bool isTeXseven(int ch) {
function CheckTeXInterface (line 125) | static int CheckTeXInterface(
function ColouriseTeXDoc (line 173) | static void ColouriseTeXDoc(
function isNumber (line 290) | static inline bool isNumber(int ch) {
function isWordChar (line 297) | static inline bool isWordChar(int ch) {
function Sci_Position (line 301) | static Sci_Position ParseTeXCommand(Sci_PositionU pos, Accessor &styler,...
function classifyFoldPointTeXPaired (line 324) | static int classifyFoldPointTeXPaired(const char* s) {
function classifyFoldPointTeXUnpaired (line 343) | static int classifyFoldPointTeXUnpaired(const char* s) {
function IsTeXCommentLine (line 366) | static bool IsTeXCommentLine(Sci_Position line, Accessor &styler) {
function FoldTexDoc (line 384) | static void FoldTexDoc(Sci_PositionU startPos, Sci_Position length, int,...
FILE: lexers/LexTroff.cxx
type TroffState (line 52) | enum TroffState {
function Sci_PositionU (line 77) | static Sci_PositionU TroffEscapeBracketSize(Sci_PositionU startLine, Sci...
function Sci_PositionU (line 136) | static Sci_PositionU TroffEscapeQuoteSize(Sci_PositionU startLine, Sci_P...
function Sci_PositionU (line 184) | static Sci_PositionU ColouriseTroffEscape(Sci_PositionU startLine, Sci_P...
function Sci_PositionU (line 445) | static Sci_PositionU ColouriseTroffNumber(Sci_PositionU startLine, Sci_P...
function ColouriseTroffLine (line 483) | static void ColouriseTroffLine(Sci_PositionU startLine, Sci_PositionU en...
function ColouriseTroffDoc (line 753) | static void ColouriseTroffDoc(Sci_PositionU startPos, Sci_Position lengt...
function FoldTroffDoc (line 780) | static void FoldTroffDoc(Sci_PositionU startPos, Sci_Position length, int,
FILE: lexers/LexTxt2tags.cxx
function IsNewline (line 44) | static inline bool IsNewline(const int ch) {
function FollowToLineEnd (line 49) | static bool FollowToLineEnd(const int ch, const int state, const Sci_Pos...
function HasPrevLineContent (line 66) | static bool HasPrevLineContent(StyleContext &sc) {
function IsValidHrule (line 81) | static bool IsValidHrule(const Sci_PositionU endPos, StyleContext &sc) {
function ColorizeTxt2tagsDoc (line 107) | static void ColorizeTxt2tagsDoc(Sci_PositionU startPos, Sci_Position len...
FILE: lexers/LexVB.cxx
function IsVBComment (line 37) | bool IsVBComment(Accessor &styler, Sci_Position pos, Sci_Position len) {
function IsTypeCharacter (line 41) | constexpr bool IsTypeCharacter(int ch) noexcept {
function IsAWordChar (line 46) | constexpr bool IsAWordChar(int ch) noexcept {
function IsAWordStart (line 51) | constexpr bool IsAWordStart(int ch) noexcept {
function IsANumberChar (line 56) | constexpr bool IsANumberChar(int ch) noexcept {
type OptionsVB (line 63) | struct OptionsVB {
type OptionSetVB (line 76) | struct OptionSetVB : public OptionSet<OptionsVB> {
method OptionSetVB (line 77) | OptionSetVB() {
class LexerVB (line 104) | class LexerVB : public DefaultLexer {
method LexerVB (line 113) | LexerVB(const char *languageName_, int language_, bool vbScriptSyntax_) :
method LexerVB (line 118) | LexerVB(const LexerVB &) = delete;
method LexerVB (line 119) | LexerVB(LexerVB &&) = delete;
method Release (line 123) | void SCI_METHOD Release() override {
method Version (line 126) | int SCI_METHOD Version() const override {
method PropertyType (line 132) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 155) | static ILexer5 *LexerFactoryVB() {
method ILexer5 (line 158) | static ILexer5 *LexerFactoryVBScript() {
function Sci_Position (line 163) | Sci_Position SCI_METHOD LexerVB::PropertySet(const char *key, const char...
function Sci_Position (line 170) | Sci_Position SCI_METHOD LexerVB::WordListSet(int n, const char *wl) {
FILE: lexers/LexVHDL.cxx
function IsAWordChar (line 45) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 50) | static inline bool IsAWordStart(const int ch) {
function IsABlank (line 55) | static inline bool IsABlank(unsigned int ch) {
function ColouriseVHDLDoc (line 60) | static void ColouriseVHDLDoc(
function IsCommentLine (line 180) | static bool IsCommentLine(Sci_Position line, Accessor &styler) {
function IsCommentBlockStart (line 193) | static bool IsCommentBlockStart(Sci_Position line, Accessor &styler)
function IsCommentBlockEnd (line 207) | static bool IsCommentBlockEnd(Sci_Position line, Accessor &styler)
function IsCommentStyle (line 222) | static bool IsCommentStyle(char style)
function FoldNoBoxVHDLDoc (line 229) | static void FoldNoBoxVHDLDoc(
function FoldVHDLDoc (line 546) | static void FoldVHDLDoc(Sci_PositionU startPos, Sci_Position length, int...
FILE: lexers/LexVerilog.cxx
type PPDefinition (line 44) | struct PPDefinition {
method PPDefinition (line 50) | PPDefinition(Sci_Position line_, const std::string &key_, const std::s...
class LinePPState (line 55) | class LinePPState {
method ValidLevel (line 59) | bool ValidLevel() const {
method maskLevel (line 62) | int maskLevel() const {
method LinePPState (line 70) | LinePPState() : state(0), ifTaken(0), level(-1) {
method IsInactive (line 72) | bool IsInactive() const {
method CurrentIfTaken (line 75) | bool CurrentIfTaken() const {
method StartSection (line 78) | void StartSection(bool on) {
method EndSection (line 90) | void EndSection() {
method InvertCurrentLevel (line 97) | void InvertCurrentLevel() {
class PPStates (line 107) | class PPStates {
method LinePPState (line 110) | LinePPState ForLine(Sci_Position line) const {
method Add (line 117) | void Add(Sci_Position line, LinePPState lls) {
type OptionsVerilog (line 124) | struct OptionsVerilog {
method OptionsVerilog (line 135) | OptionsVerilog() {
type OptionSetVerilog (line 152) | struct OptionSetVerilog : public OptionSet<OptionsVerilog> {
method OptionSetVerilog (line 153) | OptionSetVerilog() {
class LexerVerilog (line 181) | class LexerVerilog : public DefaultLexer {
type SymbolValue (line 191) | struct SymbolValue {
method SymbolValue (line 194) | SymbolValue(const std::string &value_="", const std::string &argumen...
method SymbolValue (line 196) | SymbolValue &operator = (const std::string &value_) {
method IsMacro (line 201) | bool IsMacro() const {
method LexerVerilog (line 221) | LexerVerilog() :
method Version (line 227) | int SCI_METHOD Version() const override {
method Release (line 230) | void SCI_METHOD Release() override {
method PropertyType (line 236) | int SCI_METHOD PropertyType(const char* name) override {
method Sci_Position (line 242) | Sci_Position SCI_METHOD PropertySet(const char* key, const char* val) ...
method LineEndTypesSupported (line 257) | int SCI_METHOD LineEndTypesSupported() override {
method AllocateSubStyles (line 260) | int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) over...
method SubStylesStart (line 263) | int SCI_METHOD SubStylesStart(int styleBase) override {
method SubStylesLength (line 266) | int SCI_METHOD SubStylesLength(int styleBase) override {
method StyleFromSubStyle (line 269) | int SCI_METHOD StyleFromSubStyle(int subStyle) override {
method PrimaryStyleFromStyle (line 274) | int SCI_METHOD PrimaryStyleFromStyle(int style) override {
method FreeSubStyles (line 277) | void SCI_METHOD FreeSubStyles() override {
method SetIdentifiers (line 280) | void SCI_METHOD SetIdentifiers(int style, const char *identifiers) ove...
method DistanceToSecondaryStyles (line 283) | int SCI_METHOD DistanceToSecondaryStyles() override {
method ILexer5 (line 289) | static ILexer5* LexerFactoryVerilog() {
method MaskActive (line 292) | static int MaskActive(int style) {
function Sci_Position (line 298) | Sci_Position SCI_METHOD LexerVerilog::WordListSet(int n, const char *wl) {
function IsAWordChar (line 358) | static inline bool IsAWordChar(const int ch) {
function IsAWordStart (line 362) | static inline bool IsAWordStart(const int ch) {
function AllUpperCase (line 366) | static inline bool AllUpperCase(const char *a) {
type After (line 375) | struct After {
method After (line 377) | explicit After(Sci_Position line_) : line(line_) {}
function GetRestOfLine (line 383) | static std::string GetRestOfLine(LexAccessor &styler, Sci_Position start...
function IsSpaceOrTab (line 400) | static bool IsSpaceOrTab(int ch) {
function IsStreamCommentStyle (line 775) | static bool IsStreamCommentStyle(int style) {
function IsCommentLine (line 779) | static bool IsCommentLine(Sci_Position line, LexAccessor &styler) {
FILE: lexers/LexVisualProlog.cxx
type OptionsVisualProlog (line 51) | struct OptionsVisualProlog {
method OptionsVisualProlog (line 54) | OptionsVisualProlog() {
type OptionSetVisualProlog (line 68) | struct OptionSetVisualProlog : public OptionSet<OptionsVisualProlog> {
method OptionSetVisualProlog (line 69) | OptionSetVisualProlog() {
function LexicalClass (line 106) | LexicalClass getLexicalClass(int style) {
class LexerVisualProlog (line 116) | class LexerVisualProlog : public DefaultLexer {
method LexerVisualProlog (line 124) | LexerVisualProlog() : DefaultLexer("visualprolog", SCLEX_VISUALPROLOG) {
method Release (line 128) | void SCI_METHOD Release() override {
method Version (line 131) | int SCI_METHOD Version() const override {
method PropertyType (line 137) | int SCI_METHOD PropertyType(const char* name) override {
method NamedStyles (line 158) | int SCI_METHOD NamedStyles() override {
method ILexer5 (line 177) | static ILexer5* LexerFactoryVisualProlog() {
function Sci_Position (line 182) | Sci_Position SCI_METHOD LexerVisualProlog::PropertySet(const char* key, ...
function Sci_Position (line 189) | Sci_Position SCI_METHOD LexerVisualProlog::WordListSet(int n, const char...
function isLowerLetter (line 217) | static bool isLowerLetter(int ch) {
function isUpperLetter (line 221) | static bool isUpperLetter(int ch) {
function isAlphaNum (line 225) | static bool isAlphaNum(int ch) {
function isStringVerbatimOpenClose (line 230) | static bool isStringVerbatimOpenClose(int ch) {
function isIdChar (line 235) | static bool isIdChar(int ch) {
function endLookAhead (line 240) | static void endLookAhead(char s[], LexAccessor& styler, Sci_Position sta...
class lineState (line 256) | class lineState {
method isOpenStringVerbatim (line 262) | bool isOpenStringVerbatim(int next) {
type kind (line 306) | enum kind {
method setState (line 313) | void setState(int state) {
method getState (line 319) | int getState() {
method enter (line 323) | void enter(kind k) {
method leave (line 327) | void leave(kind k) {
method kind (line 332) | kind currentKind() {
method kind (line 335) | kind stateKind2(int ks) {
method kind (line 348) | kind stateKind() {
FILE: lexers/LexX12.cxx
class LexerX12 (line 31) | class LexerX12 : public DefaultLexer
method ILexer5 (line 37) | static ILexer5 *Factory() {
method Version (line 41) | int SCI_METHOD Version() const override
method Release (line 45) | void SCI_METHOD Release() override
method PropertyType (line 54) | int SCI_METHOD PropertyType(const char *) override
method Sci_Position (line 65) | Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) ...
method Sci_Position (line 81) | Sci_Position SCI_METHOD WordListSet(int, const char *) override
type Terminator (line 93) | struct Terminator
function Sci_PositionU (line 299) | Sci_PositionU LexerX12::FindPreviousSegmentStart(IDocument *pAccess, Sci...
FILE: lexers/LexYAML.cxx
function AtEOL (line 38) | inline bool AtEOL(Accessor &styler, Sci_PositionU i) {
function IsWhiteSpaceOrEOL (line 47) | constexpr bool IsWhiteSpaceOrEOL(char ch) noexcept {
function SpaceCount (line 51) | unsigned int SpaceCount(const char* lineBuffer) noexcept {
function KeywordAtChar (line 63) | bool KeywordAtChar(const char* lineBuffer, const char* startComment, con...
function ColouriseYAMLLine (line 86) | void ColouriseYAMLLine(
function ColouriseYAMLDoc (line 218) | void ColouriseYAMLDoc(Sci_PositionU startPos, Sci_Position length, int, ...
function IsCommentLine (line 242) | bool IsCommentLine(Sci_Position line, Accessor &styler) {
function FoldYAMLDoc (line 249) | void FoldYAMLDoc(Sci_PositionU startPos, Sci_Position length, int /*init...
FILE: lexers/LexZig.cxx
function IsAGraphic (line 37) | constexpr bool IsAGraphic(int ch) noexcept {
function IsIdentifierStart (line 42) | constexpr bool IsIdentifierStart(int ch) noexcept {
function IsIdentifierStartEx (line 46) | constexpr bool IsIdentifierStartEx(int ch) noexcept {
function IsNumberStart (line 50) | constexpr bool IsNumberStart(int ch, int chNext) noexcept {
function IsIdentifierChar (line 54) | constexpr bool IsIdentifierChar(int ch) noexcept {
function IsNumberContinue (line 58) | constexpr bool IsNumberContinue(int chPrev, int ch, int chNext) noexcept {
function IsDecimalNumber (line 63) | constexpr bool IsDecimalNumber(int chPrev, int ch, int chNext) noexcept {
function IsIdentifierCharEx (line 67) | constexpr bool IsIdentifierCharEx(int ch) noexcept {
type EscapeSequence (line 72) | struct EscapeSequence {
method resetEscapeState (line 78) | void resetEscapeState(int state, int chNext) noexcept {
method resetEscapeState (line 88) | void resetEscapeState(int state) noexcept {
method atEscapeEnd (line 93) | bool atEscapeEnd(int ch) noexcept {
type FoldLineState (line 104) | struct FoldLineState {
method FoldLineState (line 107) | constexpr explicit FoldLineState(int lineState) noexcept:
type KeywordType (line 113) | enum class KeywordType {
type OptionsZig (line 126) | struct OptionsZig {
type OptionSetZig (line 138) | struct OptionSetZig : public OptionSet<OptionsZig> {
method OptionSetZig (line 139) | OptionSetZig() {
class LexerZig (line 169) | class LexerZig : public DefaultLexer {
method LexerZig (line 177) | LexerZig(const char *languageName_, int language_) :
method LexerZig (line 181) | LexerZig(const LexerZig &) = delete;
method LexerZig (line 182) | LexerZig(LexerZig &&) = delete;
method Release (line 187) | void SCI_METHOD Release() override {
method Version (line 190) | int SCI_METHOD Version() const override {
method PropertyType (line 196) | int SCI_METHOD PropertyType(const char *name) override {
method ILexer5 (line 221) | static ILexer5 *LexerFactoryZig() {
function Sci_Position (line 226) | Sci_Position SCI_METHOD LexerZig::PropertySet(const char *key, const cha...
function Sci_Position (line 233) | Sci_Position SCI_METHOD LexerZig::WordListSet(int n, const char *wl) {
FILE: lexlib/Accessor.h
function namespace (line 11) | namespace Lexilla {
FILE: lexlib/CatalogueModules.h
function namespace (line 13) | namespace Lexilla {
function AddLexerModule (line 38) | void AddLexerModule(const LexerModule *plm) {
function AddLexerModules (line 42) | void AddLexerModules(std::initializer_list<const LexerModule *> modules) {
function LexerFactoryFunction (line 57) | LexerFactoryFunction Factory(size_t index) const noexcept {
FILE: lexlib/CharacterCategory.cxx
type Lexilla (line 16) | namespace Lexilla {
function CharacterCategory (line 4143) | CharacterCategory CategoriseCharacter(int character) noexcept {
type OtherID (line 4161) | enum class OtherID { oidNone, oidStart, oidContinue }
function OtherID (line 4166) | OtherID OtherIDOfCharacter(int character) noexcept {
function IsIdPattern (line 4190) | constexpr bool IsIdPattern(int character) noexcept {
function OmitXidStart (line 4194) | bool OmitXidStart(int character) noexcept {
function OmitXidContinue (line 4225) | bool OmitXidContinue(int character) noexcept {
function IsIdStart (line 4256) | bool IsIdStart(int character) noexcept {
function IsIdContinue (line 4271) | bool IsIdContinue(int character) noexcept {
function IsXidStart (line 4285) | bool IsXidStart(int character) noexcept {
function IsXidContinue (line 4293) | bool IsXidContinue(int character) noexcept {
FILE: lexlib/CharacterCategory.h
function namespace (line 11) | namespace Lexilla {
FILE: lexlib/CharacterSet.cxx
type Lexilla (line 18) | namespace Lexilla {
function CompareCaseInsensitive (line 20) | int CompareCaseInsensitive(const char *a, const char *b) noexcept {
function EqualCaseInsensitive (line 35) | bool EqualCaseInsensitive(std::string_view a, std::string_view b) noex...
function CompareNCaseInsensitive (line 47) | int CompareNCaseInsensitive(const char *a, const char *b, size_t len) ...
FILE: lexlib/CharacterSet.h
function namespace (line 11) | namespace Lexilla {
function Add (line 46) | void Add(int val) noexcept {
function AddString (line 51) | void AddString(const char *setToAdd) noexcept {
function Contains (line 58) | [[nodiscard]] bool Contains(int val) const noexcept {
function Contains (line 64) | [[nodiscard]] bool Contains(char ch) const noexcept {
function AnyOf (line 77) | bool AnyOf(T t, Args... args) noexcept {
function AnyOf (line 86) | void AnyOf([[maybe_unused]] T *t, [[maybe_unused]] Args... args) noexcep...
function AnyOf (line 88) | void AnyOf([[maybe_unused]] const T *t, [[maybe_unused]] Args... args) n...
function IsASpace (line 93) | constexpr bool IsASpace(int ch) noexcept {
function IsASpaceOrTab (line 97) | constexpr bool IsASpaceOrTab(int ch) noexcept {
function IsADigit (line 101) | constexpr bool IsADigit(int ch) noexcept {
function IsAHeXDigit (line 105) | constexpr bool IsAHeXDigit(int ch) noexcept {
function IsAnOctalDigit (line 111) | constexpr bool IsAnOctalDigit(int ch) noexcept {
function IsADigit (line 115) | constexpr bool IsADigit(int ch, int base) noexcept {
function IsASCII (line 125) | constexpr bool IsASCII(int ch) noexcept {
function IsLowerCase (line 130) | constexpr bool IsLowerCase(int ch) noexcept {
function IsUpperCase (line 134) | constexpr bool IsUpperCase(int ch) noexcept {
function IsUpperOrLowerCase (line 138) | constexpr bool IsUpperOrLowerCase(int ch) noexcept {
function IsAlphaNumeric (line 142) | constexpr bool IsAlphaNumeric(int ch) noexcept {
function isspacechar (line 153) | constexpr bool isspacechar(int ch) noexcept {
function iswordchar (line 157) | constexpr bool iswordchar(int ch) noexcept {
function iswordstart (line 161) | constexpr bool iswordstart(int ch) noexcept {
function isoperator (line 165) | constexpr bool isoperator(int ch) noexcept {
function T (line 181) | T MakeUpperCase(T ch) noexcept {
function T (line 188) | T MakeLowerCase(T ch) noexcept {
function StartsWith (line 198) | constexpr bool StartsWith(std::string_view s, char start) noexcept {
FILE: lexlib/DefaultLexer.cxx
function Sci_Position (line 68) | Sci_Position SCI_METHOD DefaultLexer::PropertySet(const char *, const ch...
function Sci_Position (line 78) | Sci_Position SCI_METHOD DefaultLexer::WordListSet(int, const char *) {
FILE: lexlib/DefaultLexer.h
function namespace (line 13) | namespace Lexilla {
FILE: lexlib/InList.cxx
type Lexilla (line 17) | namespace Lexilla {
function InList (line 19) | bool InList(std::string_view value, std::initializer_list<std::string_...
function InListCaseInsensitive (line 28) | bool InListCaseInsensitive(std::string_view value, std::initializer_li...
FILE: lexlib/InList.h
function namespace (line 11) | namespace Lexilla {
FILE: lexlib/LexAccessor.cxx
type Lexilla (line 21) | namespace Lexilla {
function FoldLevelFlags (line 83) | int FoldLevelFlags(int levelLine, int levelNext, bool white, bool head...
FILE: lexlib/LexAccessor.h
function namespace (line 11) | namespace Lexilla {
type LexicalClass (line 219) | struct LexicalClass {
function FoldLevelStart (line 229) | constexpr int FoldLevelStart(int levelPrevious) noexcept {
function FoldLevelForCurrentNext (line 232) | constexpr int FoldLevelForCurrentNext(int levelCurrent, int levelNext) n...
function FoldLevelForCurrent (line 236) | constexpr int FoldLevelForCurrent(int levelCurrent) noexcept {
FILE: lexlib/LexerBase.cxx
function Sci_Position (line 65) | Sci_Position SCI_METHOD LexerBase::PropertySet(const char *key, const ch...
function Sci_Position (line 80) | Sci_Position SCI_METHOD LexerBase::WordListSet(int n, const char *wl) {
FILE: lexlib/LexerBase.h
function namespace (line 11) | namespace Lexilla {
FILE: lexlib/LexerModule.cxx
function LexicalClass (line 84) | const LexicalClass *LexerModule::LexClasses() const noexcept {
FILE: lexlib/LexerModule.h
type LexicalClass (line 15) | struct LexicalClass
type Scintilla (line 19) | typedef Scintilla::ILexer5 *(*LexerFactoryFunction)();
function class (line 27) | class LexerModule {
FILE: lexlib/LexerSimple.h
function namespace (line 11) | namespace Lexilla {
FILE: lexlib/OptionSet.h
function namespace (line 13) | namespace Lexilla {
function AppendName (line 103) | void AppendName(const char *name) {
function plcoi (line 126) | plcoi pi {}
function PropertyType (line 135) | [[nodiscard]] int PropertyType(const char *name) const final {
function PropertySet (line 150) | bool PropertySet(T *base, const char *name, const char *val) {
function DefineWordListSets (line 166) | void DefineWordListSets(const char * const wordListDescriptions[]) {
FILE: lexlib/PropSetSimple.cxx
function mapss (line 27) | mapss *PropsFromPointer(void *impl) noexcept {
FILE: lexlib/PropSetSimple.h
function namespace (line 11) | namespace Lexilla {
FILE: lexlib/SparseState.h
function namespace (line 13) | namespace Lexilla {
function Set (line 43) | void Set(Sci_Position position, T value) {
function T (line 49) | T ValueAt(Sci_Position position) {
function Delete (line 64) | bool Delete(Sci_Position position) {
function Merge (line 77) | bool Merge(const SparseState<T> &other, Sci_Position ignoreAfter) {
FILE: lexlib/StringCopy.h
function namespace (line 12) | namespace Lexilla {
FILE: lexlib/StyleContext.h
function namespace (line 11) | namespace Lexilla {
function GetRelativeCharacter (line 130) | int GetRelativeCharacter(Sci_Position n) {
function MatchLineEnd (line 153) | bool MatchLineEnd() const noexcept {
function Match (line 161) | bool Match(char ch0, char ch1) const noexcept {
function Match (line 166) | bool Match(const char *s) {
function Transform (line 188) | enum class Transform { none, lower };
FILE: lexlib/SubStyles.h
function namespace (line 11) | namespace Lexilla {
function LastAllocated (line 191) | int LastAllocated() const noexcept {
function Free (line 206) | void Free() noexcept {
function WordClassifier (line 213) | const WordClassifier &Classifier(int baseStyle) const noexcept {
FILE: lexlib/WordList.cxx
function ArrayFromWordList (line 28) | std::unique_ptr<char *[]> ArrayFromWordList(char *wordlist, size_t slen,...
function cmpWords (line 69) | bool cmpWords(const char *a, const char *b) noexcept {
FILE: lexlib/WordList.h
function namespace (line 11) | namespace Lexilla {
FILE: scripts/LexFacer.py
function printLexHFile (line 14) | def printLexHFile(f):
function RegenerateAll (line 23) | def RegenerateAll(root, _showMaxID):
FILE: scripts/LexillaData.py
function ReadFileAsList (line 49) | def ReadFileAsList(path):
function FindModules (line 55) | def FindModules(lexFile):
function FindSectionInList (line 83) | def FindSectionInList(lines, markers):
function FindLexersInXcode (line 116) | def FindLexersInXcode(xCodeProject):
function FindProperties (line 160) | def FindProperties(lexFile):
function FindPropertyDocumentation (line 177) | def FindPropertyDocumentation(lexFile):
function FindCredits (line 219) | def FindCredits(historyFile):
function ciKey (line 244) | def ciKey(a):
function SortListInsensitive (line 248) | def SortListInsensitive(l):
class LexillaData (line 252) | class LexillaData:
method __init__ (line 255) | def __init__(self, scintillaRoot):
function printWrapped (line 308) | def printWrapped(text):
FILE: scripts/LexillaGen.py
function uid24 (line 30) | def uid24():
function ciLexerKey (line 34) | def ciLexerKey(a):
function RegenerateXcodeProject (line 45) | def RegenerateXcodeProject(path, lexers, lexerReferences):
function RegenerateAll (line 95) | def RegenerateAll(rootDirectory):
FILE: scripts/LexillaLogo.py
function drawLines (line 27) | def drawLines(dr):
function drawGuide (line 38) | def drawGuide(dr):
function drawLogo (line 48) | def drawLogo():
FILE: src/DepGen.py
function Generate (line 16) | def Generate():
FILE: src/Lexilla.cxx
function AddEachLexer (line 177) | void AddEachLexer() {
function EXPORT_FUNCTION (line 335) | EXPORT_FUNCTION int CALLING_CONVENTION GetLexerCount() {
function EXPORT_FUNCTION (line 340) | EXPORT_FUNCTION void CALLING_CONVENTION GetLexerName(unsigned int index,...
function EXPORT_FUNCTION (line 349) | EXPORT_FUNCTION LexerFactoryFunction CALLING_CONVENTION GetLexerFactory(...
function CreateLexer (line 354) | CreateLexer(const char *name) {
function EXPORT_FUNCTION (line 365) | EXPORT_FUNCTION const char * CALLING_CONVENTION LexerNameFromID(int iden...
function EXPORT_FUNCTION (line 374) | EXPORT_FUNCTION const char * CALLING_CONVENTION GetLibraryPropertyNames() {
function EXPORT_FUNCTION (line 378) | EXPORT_FUNCTION void CALLING_CONVENTION SetLibraryProperty(const char *,...
function EXPORT_FUNCTION (line 382) | EXPORT_FUNCTION const char * CALLING_CONVENTION GetNameSpace() {
function AddStaticLexerModule (line 390) | void AddStaticLexerModule(const LexerModule *plm) {
FILE: test/Metadata/CheckMeta.py
function ShowAll (line 13) | def ShowAll(rootLexilla):
FILE: test/Metadata/Metadata.cxx
function StringSplit (line 52) | std::vector<std::string> StringSplit(const std::string_view &text, int s...
function ShowMetadata (line 73) | void ShowMetadata(std::ostringstream &os, ILexer5 *lexer) {
function ShowAllMetadata (line 121) | void ShowAllMetadata(std::ostringstream &os, const std::vector<std::stri...
function main (line 137) | int main(int argc, char *argv[]) {
FILE: test/TestDocument.cxx
function UnicodeFromUTF8 (line 42) | int UnicodeFromUTF8(const unsigned char *us) noexcept {
function UTF8IsTrailByte (line 56) | inline constexpr bool UTF8IsTrailByte(unsigned char ch) noexcept {
function TrailByteValue (line 60) | constexpr unsigned char TrailByteValue(unsigned char c) {
function UTF32FromUTF8 (line 67) | std::u32string UTF32FromUTF8(std::string_view svu8) {
function Sci_Position (line 135) | Sci_Position TestDocument::MaxLine() const noexcept {
function Sci_Position (line 146) | Sci_Position SCI_METHOD TestDocument::Length() const {
function Sci_Position (line 161) | Sci_Position SCI_METHOD TestDocument::LineFromPosition(Sci_Position posi...
function Sci_Position (line 173) | Sci_Position SCI_METHOD TestDocument::LineStart(Sci_Position line) const {
function Sci_Position (line 250) | Sci_Position SCI_METHOD TestDocument::LineEnd(Sci_Position line) const {
function Sci_Position (line 265) | Sci_Position SCI_METHOD TestDocument::GetRelativePosition(Sci_Position p...
FILE: test/TestDocument.h
function class (line 13) | class TestDocument : public Scintilla::IDocument {
FILE: test/TestLexers.cxx
function MakeLowerCase (line 32) | constexpr char MakeLowerCase(char c) noexcept {
function LowerCaseAZ (line 40) | [[maybe_unused]] void LowerCaseAZ(std::string &s) {
function IntFromString (line 44) | int IntFromString(std::u32string_view s) noexcept {
function PatternMatch (line 60) | bool PatternMatch(std::u32string_view pattern, std::u32string_view text)...
function PathMatch (line 227) | bool PathMatch(std::string pattern, std::string relPath) {
function ReadFile (line 259) | std::string ReadFile(std::filesystem::path path) {
function MarkedDocument (line 266) | std::string MarkedDocument(const Scintilla::IDocument *pdoc) {
function PrintLevel (line 285) | void PrintLevel(std::ostringstream &os, int level) {
function FoldedDocument (line 300) | std::string FoldedDocument(const Scintilla::IDocument *pdoc) {
function MarkedAndFoldedDocument (line 321) | std::pair<std::string, std::string> MarkedAndFoldedDocument(const Scinti...
function StringSplit (line 325) | std::vector<std::string> StringSplit(const std::string_view &text, int s...
function IsSpaceOrTab (line 337) | constexpr bool IsSpaceOrTab(char ch) noexcept {
function PrintRanges (line 341) | void PrintRanges(const std::vector<bool> &v) {
class PropertyMap (line 363) | class PropertyMap {
method Evaluate (line 365) | std::string Evaluate(std::string_view text) {
method Expand (line 389) | std::string Expand(std::string withVars) {
method GetFilePatterns (line 410) | static std::vector<std::string> GetFilePatterns(const std::string &key) {
method ProcessLine (line 431) | bool ProcessLine(std::string_view text, bool ifIsTrue) {
method ReadFromFile (line 475) | void ReadFromFile(std::filesystem::path path) {
method GetProperty (line 495) | std::optional<std::string> GetProperty(std::string_view key) const {
method GetPropertyForFile (line 503) | std::optional<std::string> GetPropertyForFile(std::string_view keyPref...
method GetPropertyValue (line 524) | std::optional<int> GetPropertyValue(std::string_view key) const {
function FirstLineDifferent (line 538) | size_t FirstLineDifferent(std::string_view a, std::string_view b) {
function CheckSame (line 546) | bool CheckSame(std::string_view augmentedText, std::string_view augmente...
function Substitute (line 562) | int Substitute(std::string &s, const std::string &sFind, const std::stri...
function WindowsToUnix (line 575) | int WindowsToUnix(std::string &s) {
function UnixToWindows (line 579) | int UnixToWindows(std::string &s) {
function StyleLineByLine (line 585) | void StyleLineByLine(TestDocument &doc, Scintilla::ILexer5 *plex) {
function TestCRLF (line 601) | bool TestCRLF(std::filesystem::path path, const std::string s, Scintilla...
function TestILexer (line 679) | void TestILexer(Scintilla::ILexer5 *plex) {
function SetProperties (line 755) | bool SetProperties(Scintilla::ILexer5 *plex, const std::string &language...
function TestFile (line 831) | bool TestFile(const std::filesystem::path &path, const PropertyMap &prop...
function TestDirectory (line 925) | bool TestDirectory(std::filesystem::path directory, std::filesystem::pat...
function AccessLexilla (line 946) | bool AccessLexilla(std::filesystem::path basePath) {
function FindLexillaDirectory (line 969) | std::filesystem::path FindLexillaDirectory(std::filesystem::path startDi...
type LexerTestsDirectory (line 996) | struct LexerTestsDirectory {
function AccessLexilla (line 1002) | bool AccessLexilla(std::filesystem::path basePath, const std::vector<Lex...
function main (line 1025) | int main(int argc, char **argv) {
FILE: test/examples/cpp/48HashNotPreProcessor.cxx
class C (line 2) | class C {
method constructor (line 4) | constructor(x) {
method getX (line 7) | static getX(obj) {
FILE: test/examples/cpp/x.cxx
function main (line 74) | int main() {
FILE: test/examples/dart/AllStyles.dart
function main (line 3) | void main()
function if (line 18) | if (year >= 2001)
function if (line 20) | else if (year >= 1901)
function for (line 24) | for (final object in flybyObjects)
class Spacecraft (line 58) | class Spacecraft {
method describe (line 74) | void describe()
type PlanetType (line 93) | enum PlanetType { terrestrial, gas, ice }
type Planet (line 97) | enum Planet {
function if (line 120) | if (!yourPlanet.isGiant)
function describeCrew (line 127) | void describeCrew()
function printWithDelay (line 134) | Future<void> printWithDelay(String message)
function printWithDelay (line 140) | Future<void> printWithDelay(String message)
function createDescriptions (line 146) | Future<void> createDescriptions(Iterable<String> objects)
function report (line 164) | Stream<String> report(Spacecraft craft, Iterable<String> objects)
function describeFlybyObjects (line 171) | Future<void> describeFlybyObjects(List<String> flybyObjects)
class Television (line 184) | class Television {
method activate (line 187) | void activate()
method turnOn (line 192) | void turnOn()
class Llama (line 208) | class Llama {
method feed (line 214) | void feed(Food food)
method exercise (line 220) | void exercise(Activity activity, int timeLimit)
function print (line 232) | print(#mysymbol)
function assert (line 249) | assert('Dart has $s, which is very handy.' ==
function assert (line 252) | assert('That deserves all caps. '
function assert (line 260) | assert(s1 ==
function assert (line 265) | assert(s2 == 'The + operator works, as well.')
function print (line 290) | print(record.$1)
function print (line 291) | print(record.a)
function print (line 292) | print(record.b)
function print (line 293) | print(record.$2)
function userInfo (line 295) | ({String name, int age}) userInfo(Map<String, dynamic> json)
FILE: test/examples/python/AllStyles.py
class ClassName (line 26) | class ClassName:
function function_name (line 30) | def function_name():
function fn (line 50) | def fn(): pass
FILE: test/examples/python/attributes/attrib-decorator.py
function foo (line 5) | def foo():
FILE: test/examples/python/attributes/attrib-id.py
function dummy (line 10) | def dummy():
FILE: test/examples/python/matchcase.py
function match (line 12) | def match():
FILE: test/examples/python/x.py
function depunctuate (line 2) | def depunctuate(s):
function singleuse (line 16) | def singleuse():
FILE: test/examples/ruby/AllStyles.rb
class ClassName (line 31) | class ClassName end
type Module15 (line 52) | module Module15 end
FILE: test/examples/ruby/Issue136.rb
function b (line 8) | def b # :nodoc:
function c (line 14) | def c # :nodoc:
FILE: test/examples/ruby/Issue65.rb
function dbg_args (line 1) | def dbg_args(a, b=1, c:, d: 6, &block) = puts("Args passed: #{[a, b, c, ...
class A (line 4) | class A
method attr (line 5) | def attr = @attr
method attr= (line 6) | def attr=(value)
method attr? (line 9) | def attr? = !!@attr
method attr! (line 10) | def attr! = @attr = true
method -@ (line 12) | def -@ = 1
method +@ (line 13) | def +@ = 1
method ! (line 14) | def ! = 1
method ! (line 15) | def !@ = 1
method + (line 17) | def +(value) = 1 + value
method - (line 18) | def -(value) = 1 - value
method * (line 19) | def *(value) = 1 * value
method ** (line 20) | def **(value) = 1 ** value
method / (line 21) | def /(value) = 1 / value
method % (line 22) | def %(value) = 1 % value
method & (line 23) | def &(value) = 1 & value
method ^ (line 24) | def ^(value) = 1 ^ value
method >> (line 25) | def >>(value) = 1 >> value
method << (line 26) | def <<(value) = 1 << value
method == (line 27) | def ==(other) = true
method != (line 28) | def !=(other) = true
method === (line 29) | def ===(other) = true
method =~ (line 30) | def =~(other) = true
method <=> (line 31) | def <=>(other) = true
method < (line 32) | def <(other) = true
method <= (line 33) | def <=(other) = true
method > (line 34) | def >(other) = true
method >= (line 35) | def >=(other) = true
method [] (line 37) | def [](a, b) = puts(a + b)
method []= (line 38) | def []=(a, b, c)
method dec (line 42) | def dec(((a, b), c)) = puts(a + b + c)
method say (line 44) | def self::say(*s) = puts(s)
method say (line 45) | def self.say(*s) = puts(s)
method a (line 47) | def a = 1
method ab (line 48) | def ab = 1
function hello (line 52) | def String.hello
function broaden (line 57) | def greeting.broaden
function a (line 61) | def a(b, c) b; c end
function ab (line 63) | def ab c
FILE: test/examples/ruby/x.rb
class Demo (line 1) | class Demo
method test (line 2) | def test # A test
FILE: test/examples/rust/Issue239.rs
function main (line 1) | fn main() {
FILE: test/examples/rust/Issue33.rs
function main (line 1) | fn main() {
FILE: test/examples/rust/Issue34.rs
function main (line 4) | fn main() {
FILE: test/examples/rust/Issue35.rs
function main (line 2) | fn main() {}
FILE: test/unit/UnitTester.cxx
function main (line 20) | int main(int argc, char* argv[]) {
FILE: test/unit/catch.hpp
type Catch (line 98) | namespace Catch {
type CaseSensitive (line 486) | struct CaseSensitive { enum Choice {
type Choice (line 486) | enum Choice {
class NonCopyable (line 491) | class NonCopyable {
method NonCopyable (line 492) | NonCopyable( NonCopyable const& ) = delete;
method NonCopyable (line 493) | NonCopyable( NonCopyable && ) = delete;
method NonCopyable (line 494) | NonCopyable& operator = ( NonCopyable const& ) = delete;
method NonCopyable (line 495) | NonCopyable& operator = ( NonCopyable && ) = delete;
type SourceLineInfo (line 502) | struct SourceLineInfo {
method SourceLineInfo (line 504) | SourceLineInfo() = delete;
method SourceLineInfo (line 505) | SourceLineInfo( char const* _file, std::size_t _line ) noexcept
method SourceLineInfo (line 510) | SourceLineInfo( SourceLineInfo const& other ) = default;
method SourceLineInfo (line 511) | SourceLineInfo& operator = ( SourceLineInfo const& ) = default;
method SourceLineInfo (line 512) | SourceLineInfo( SourceLineInfo&& ) noexcept = default;
method SourceLineInfo (line 513) | SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default;
method empty (line 515) | bool empty() const noexcept { return file[0] == '\0'; }
type StreamEndStop (line 534) | struct StreamEndStop {
function T (line 538) | T const& operator + ( T const& value, StreamEndStop ) {
type RegistrarForTagAliases (line 549) | struct RegistrarForTagAliases {
class TestSpec (line 570) | class TestSpec
class Pattern (line 5112) | class Pattern {
class NamePattern (line 5123) | class NamePattern : public Pattern {
class TagPattern (line 5131) | class TagPattern : public Pattern {
class ExcludedPattern (line 5139) | class ExcludedPattern : public Pattern {
type Filter (line 5147) | struct Filter {
type FilterMatch (line 5155) | struct FilterMatch {
type ITestInvoker (line 572) | struct ITestInvoker {
class TestCase (line 577) | class TestCase
type IConfig (line 578) | struct IConfig
type ITestCaseRegistry (line 580) | struct ITestCaseRegistry {
class StringRef (line 606) | class StringRef {
method StringRef (line 618) | constexpr StringRef() noexcept = default;
method StringRef (line 622) | constexpr StringRef( char const* rawChars, size_type size ) noexcept
method StringRef (line 627) | StringRef( std::string const& stdString ) noexcept
method empty (line 648) | constexpr auto empty() const noexcept -> bool {
method size (line 651) | constexpr auto size() const noexcept -> size_type {
method isNullTerminated (line 668) | constexpr auto isNullTerminated() const noexcept -> bool {
method const_iterator (line 673) | constexpr const_iterator begin() const { return m_start; }
method const_iterator (line 674) | constexpr const_iterator end() const { return m_start + m_size; }
type always_false (line 925) | struct always_false : std::false_type {}
type true_given (line 927) | struct true_given : std::true_type {}
type is_callable_tester (line 928) | struct is_callable_tester {
type is_callable (line 936) | struct is_callable
class TestInvokerAsMethod (line 962) | class TestInvokerAsMethod : public ITestInvoker {
method TestInvokerAsMethod (line 965) | TestInvokerAsMethod( void (C::*testAsMethod)() ) noexcept : m_testAs...
method invoke (line 967) | void invoke() const override {
function makeTestInvoker (line 976) | auto makeTestInvoker( void (C::*testAsMethod)() ) noexcept -> ITestInv...
type NameAndTags (line 980) | struct NameAndTags {
type AutoReg (line 986) | struct AutoReg : NonCopyable {
type ResultWas (line 1353) | struct ResultWas { enum OfType {
type OfType (line 1353) | enum OfType {
type ResultDisposition (line 1377) | struct ResultDisposition { enum Flags {
type Flags (line 1377) | enum Flags {
function isFalseTest (line 1388) | inline bool isFalseTest( int flags ) { return ( flags & ResultDisposit...
type AssertionInfo (line 1396) | struct AssertionInfo
class StringRef (line 1431) | class StringRef
method StringRef (line 618) | constexpr StringRef() noexcept = default;
method StringRef (line 622) | constexpr StringRef( char const* rawChars, size_type size ) noexcept
method StringRef (line 627) | StringRef( std::string const& stdString ) noexcept
method empty (line 648) | constexpr auto empty() const noexcept -> bool {
method size (line 651) | constexpr auto size() const noexcept -> size_type {
method isNullTerminated (line 668) | constexpr auto isNullTerminated() const noexcept -> bool {
method const_iterator (line 673) | constexpr const_iterator begin() const { return m_start; }
method const_iterator (line 674) | constexpr const_iterator end() const { return m_start + m_size; }
type IStream (line 1433) | struct IStream {
class ReusableStringStream (line 1440) | class ReusableStringStream : NonCopyable {
method get (line 1454) | auto get() -> std::ostream& { return *m_oss; }
type Detail (line 1465) | namespace Detail {
type EnumInfo (line 1466) | struct EnumInfo {
function rawMemoryToString (line 1559) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1564) | class IsStreamInsertable {
function convertUnstreamable (line 1580) | typename std::enable_if<
function convertUnstreamable (line 1586) | typename std::enable_if<
function convertUnstreamable (line 1593) | typename std::enable_if<
function stringify (line 1644) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1649) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1829) | std::string rangeToString(InputIterator first, Sentinel last) {
function stringify (line 1859) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1927) | struct TupleElementPrinter {
method print (line 1928) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1939) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1940) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3078) | class Approx {
method Approx (line 3096) | Approx operator()( T const& value ) const {
method Approx (line 3105) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3150) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3157) | Approx& margin( T const& newMargin ) {
method Approx (line 3164) | Approx& scale( T const& newScale ) {
function Approx (line 7883) | Approx Approx::custom() {
method Approx (line 3096) | Approx operator()( T const& value ) const {
method Approx (line 3105) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3150) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3157) | Approx& margin( T const& newMargin ) {
method Approx (line 3164) | Approx& scale( T const& newScale ) {
function Approx (line 7887) | Approx Approx::operator-() const {
method Approx (line 3096) | Approx operator()( T const& value ) const {
method Approx (line 3105) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3150) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3157) | Approx& ma
Condensed preview — 896 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,162K chars).
[
{
"path": ".gitattributes",
"chars": 1334,
"preview": "* -text\r\n**.cxx text\r\n**.cpp text\r\n**.c text\r\n**.h text\r\n**.hpp text\r\n**.m text\r\n**.mm text\r\n**.iface text\r\n**.template "
},
{
"path": ".github/workflows/build-check-macos.yml",
"chars": 1855,
"preview": "name: \"Build and check Lexilla on macOS\"\n\non: [push]\n\njobs:\n build:\n\n runs-on: macos-latest\n\n strategy:"
},
{
"path": ".github/workflows/build-check-win32.yml",
"chars": 2701,
"preview": "name: \"Build and check Lexilla on Win32 with Visual C++\"\n\non: [push]\n\njobs:\n # Compile for amd64 and cross-compile fo"
},
{
"path": ".github/workflows/build-check.yml",
"chars": 1910,
"preview": "name: \"Build and check Lexilla on Linux\"\n\non: [push]\n\njobs:\n build:\n\n runs-on: ubuntu-latest\n\n strategy"
},
{
"path": ".gitignore",
"chars": 726,
"preview": "*.o\n*.a\n*.lib\n*.obj\n*.iobj\n__pycache__\n*.pyc\n*.dll\n*.so\n*.dylib\n*.framework\n*.pyd\n*.exe\n*.exp\n*.lib\n*.pdb\n*.ipdb\n*.res\n*"
},
{
"path": ".travis.yml",
"chars": 1076,
"preview": "# Build Lexilla with gcc and clang on Linux, macOS, and Windows\r\n# Test Lexilla with gcc and clang on Linux and macOS \r\n"
},
{
"path": "CONTRIBUTING",
"chars": 2006,
"preview": "Lexilla is on GitHub at https://github.com/ScintillaOrg/lexilla\r\n\r\nBugs, fixes and features should be posted to the Issu"
},
{
"path": "License.txt",
"chars": 864,
"preview": "License for Lexilla, Scintilla, and SciTE\n\nCopyright 1998-2021 by Neil Hodgson <neilh@scintilla.org>\n\nAll Rights Reserve"
},
{
"path": "README",
"chars": 1790,
"preview": "README for Lexilla library.\r\n\r\nThe Lexilla library contains a set of lexers and folders that provides support for\r\nprogr"
},
{
"path": "access/LexillaAccess.cxx",
"chars": 7853,
"preview": "// SciTE - Scintilla based Text Editor\n/** @file LexillaAccess.cxx\n ** Interface to loadable lexers.\n ** Maintains a lis"
},
{
"path": "access/LexillaAccess.h",
"chars": 1271,
"preview": "// SciTE - Scintilla based Text Editor\n/** @file LexillaAccess.h\n ** Interface to loadable lexers.\n ** This does not dep"
},
{
"path": "access/README",
"chars": 346,
"preview": "README for access directory.\r\n\r\nLexillaAccess is a module that simplifies using multiple libraries that follow the Lexil"
},
{
"path": "bin/empty.txt",
"chars": 55,
"preview": "This empty files ensures that the directory is created."
},
{
"path": "cppcheck.suppress",
"chars": 14061,
"preview": "// File to suppress cppcheck warnings for files that will not be fixed.\r\n// Does not suppress warnings where an addition"
},
{
"path": "delbin.bat",
"chars": 188,
"preview": "@del /S /Q *.a *.aps *.bsc *.dll *.dsw *.exe *.idb *.ilc *.ild *.ilf *.ilk *.ils *.lib *.map *.ncb *.obj *.o *.opt *.ipd"
},
{
"path": "doc/Lexilla.html",
"chars": 7419,
"preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DT"
},
{
"path": "doc/LexillaDoc.html",
"chars": 13522,
"preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DT"
},
{
"path": "doc/LexillaDownload.html",
"chars": 2561,
"preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DT"
},
{
"path": "doc/LexillaHistory.html",
"chars": 499633,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3"
},
{
"path": "examples/CheckLexilla/CheckLexilla.c",
"chars": 4238,
"preview": "// Lexilla lexer library use example\n/** @file CheckLexilla.c\n ** Check that Lexilla.h works.\n **/\n// Copyright 2021 by "
},
{
"path": "examples/CheckLexilla/makefile",
"chars": 375,
"preview": ".PHONY: all check clean\n\nINCLUDES = -I ../../include\nEXE = $(if $(windir),CheckLexilla.exe,CheckLexilla)\n\nifdef windir\n\t"
},
{
"path": "examples/SimpleLexer/SimpleLexer.cxx",
"chars": 4009,
"preview": "// A simple lexer\n/** @file SimpleLexer.cxx\n ** A lexer that follows the Lexilla protocol to allow it to be used from L"
},
{
"path": "examples/SimpleLexer/makefile",
"chars": 1126,
"preview": ".PHONY: all check clean\n\nINCLUDES = -I ../../../scintilla/include -I ../../include -I ../../lexlib\n\nBASE_FLAGS += --std="
},
{
"path": "include/LexicalStyles.iface",
"chars": 68404,
"preview": "## This file defines the interface to Lexilla\n\n## Copyright 2000-2020 by Neil Hodgson <neilh@scintilla.org>\n## The Licen"
},
{
"path": "include/Lexilla.h",
"chars": 3426,
"preview": "// Lexilla lexer library\n/** @file Lexilla.h\n ** Lexilla definitions for dynamic and static linking.\n ** For C++, more f"
},
{
"path": "include/SciLexer.h",
"chars": 69136,
"preview": "/* Scintilla source code edit control */\n/** @file SciLexer.h\n ** Interface to the lexer functions in Lexilla.\n ** File "
},
{
"path": "lexers/LexA68k.cxx",
"chars": 12538,
"preview": "// Scintilla source code edit control\n/** @file LexA68k.cxx\n ** Lexer for Assembler, just for the MASM syntax\n ** Writte"
},
{
"path": "lexers/LexAPDL.cxx",
"chars": 7733,
"preview": "// Scintilla source code edit control\n/** @file LexAPDL.cxx\n ** Lexer for APDL. Based on the lexer for Assembler by The "
},
{
"path": "lexers/LexASY.cxx",
"chars": 7568,
"preview": "// Scintilla source code edit control\n// @file LexASY.cxx\n//Author: instanton (email: soft_share<at>126<dot>com)\n// This"
},
{
"path": "lexers/LexAU3.cxx",
"chars": 29539,
"preview": "// Scintilla source code edit control\n// @file LexAU3.cxx\n// Lexer for AutoIt3 https://www.autoitscript.com/site/\n// by "
},
{
"path": "lexers/LexAVE.cxx",
"chars": 6815,
"preview": "// SciTE - Scintilla based Text Editor\n/** @file LexAVE.cxx\n ** Lexer for Avenue.\n **\n ** Written by Alexey Yutkin <yut"
},
{
"path": "lexers/LexAVS.cxx",
"chars": 8624,
"preview": "// Scintilla source code edit control\n/** @file LexAVS.cxx\n ** Lexer for AviSynth.\n **/\n// Copyright 2012 by Bruno Barbi"
},
{
"path": "lexers/LexAbaqus.cxx",
"chars": 19719,
"preview": "// Scintilla source code edit control\n/** @file LexAbaqus.cxx\n ** Lexer for ABAQUS. Based on the lexer for APDL by Hadar"
},
{
"path": "lexers/LexAda.cxx",
"chars": 11750,
"preview": "// Scintilla source code edit control\n/** @file LexAda.cxx\n ** Lexer for Ada 95\n **/\n// Copyright 2002 by Sergey Koshche"
},
{
"path": "lexers/LexAsciidoc.cxx",
"chars": 13158,
"preview": "/******************************************************************\n * LexAsciidoc.cxx\n *\n * A simple Asciidoc lexer f"
},
{
"path": "lexers/LexAsm.cxx",
"chars": 16265,
"preview": "// Scintilla source code edit control\n/** @file LexAsm.cxx\n ** Lexer for Assembler, just for the MASM syntax\n ** Written"
},
{
"path": "lexers/LexAsn1.cxx",
"chars": 5328,
"preview": "// Scintilla source code edit control\n/** @file LexAsn1.cxx\n ** Lexer for ASN.1\n **/\n// Copyright 2004 by Herr Pfarrer r"
},
{
"path": "lexers/LexBaan.cxx",
"chars": 30857,
"preview": "// Scintilla source code edit control\n/** @file LexBaan.cxx\n** Lexer for Baan.\n** Based heavily on LexCPP.cxx\n**/\n// Cop"
},
{
"path": "lexers/LexBash.cxx",
"chars": 41237,
"preview": "// Scintilla source code edit control\n/** @file LexBash.cxx\n ** Lexer for Bash.\n **/\n// Copyright 2004-2012 by Neil Hodg"
},
{
"path": "lexers/LexBasic.cxx",
"chars": 16989,
"preview": "// Scintilla source code edit control\n/** @file LexBasic.cxx\n ** Lexer for BlitzBasic and PureBasic.\n ** Converted to le"
},
{
"path": "lexers/LexBatch.cxx",
"chars": 22947,
"preview": "// Scintilla source code edit control\n/** @file LexBatch.cxx\n ** Lexer for batch files.\n **/\n// Copyright 1998-2001 by N"
},
{
"path": "lexers/LexBibTeX.cxx",
"chars": 8771,
"preview": "// Copyright 2008-2010 Sergiu Dotenco. The License.txt file describes the\n// conditions under which this software may be"
},
{
"path": "lexers/LexBullant.cxx",
"chars": 6527,
"preview": "// SciTE - Scintilla based Text Editor\n// LexBullant.cxx - lexer for Bullant\n\n#include <stdlib.h>\n#include <string.h>\n#i"
},
{
"path": "lexers/LexCIL.cxx",
"chars": 12190,
"preview": "// Scintilla source code edit control\n/** @file LexCIL.cxx\n ** Lexer for Common Intermediate Language\n ** Written by Jad"
},
{
"path": "lexers/LexCLW.cxx",
"chars": 22174,
"preview": "// Scintilla source code edit control\n/** @file LexCLW.cxx\n ** Lexer for Clarion.\n ** 2004/12/17 Updated Lexer\n **/\n// C"
},
{
"path": "lexers/LexCOBOL.cxx",
"chars": 13395,
"preview": "// Scintilla source code edit control\n/** @file LexCOBOL.cxx\n ** Lexer for COBOL\n ** Based on LexPascal.cxx\n ** Written "
},
{
"path": "lexers/LexCPP.cxx",
"chars": 63384,
"preview": "// Scintilla source code edit control\n/** @file LexCPP.cxx\n ** Lexer for C++, C, Java, and JavaScript.\n ** Further foldi"
},
{
"path": "lexers/LexCSS.cxx",
"chars": 18662,
"preview": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexCSS.cxx\n ** Lexer for Cascading Style Sheets\n ** W"
},
{
"path": "lexers/LexCaml.cxx",
"chars": 10759,
"preview": "// Scintilla source code edit control\n/** @file LexCaml.cxx\n ** Lexer for Objective Caml.\n **/\n// Copyright 2005-2009 by"
},
{
"path": "lexers/LexCmake.cxx",
"chars": 15828,
"preview": "// Scintilla source code edit control\n/** @file LexCmake.cxx\n ** Lexer for Cmake\n **/\n// Copyright 2007 by Cristian Adam"
},
{
"path": "lexers/LexCoffeeScript.cxx",
"chars": 17080,
"preview": "// Scintilla source code edit control\n/** @file LexCoffeeScript.cxx\n ** Lexer for CoffeeScript.\n **/\n// Copyright 1998-2"
},
{
"path": "lexers/LexConf.cxx",
"chars": 5758,
"preview": "// Scintilla source code edit control\n/** @file LexConf.cxx\n ** Lexer for Apache Configuration Files.\n **\n ** First work"
},
{
"path": "lexers/LexCrontab.cxx",
"chars": 7274,
"preview": "// Scintilla source code edit control\n/** @file LexCrontab.cxx\n ** Lexer to use with extended crontab files used by a po"
},
{
"path": "lexers/LexCsound.cxx",
"chars": 6389,
"preview": "// Scintilla source code edit control\n/** @file LexCsound.cxx\n ** Lexer for Csound (Orchestra & Score)\n ** Written by Ge"
},
{
"path": "lexers/LexD.cxx",
"chars": 16914,
"preview": "/** @file LexD.cxx\n ** Lexer for D.\n **\n ** Copyright (c) 2006 by Waldemar Augustyn <waldemar@wdmsys.com>\n ** Converted "
},
{
"path": "lexers/LexDMAP.cxx",
"chars": 9380,
"preview": "// Scintilla source code edit control\n/** @file LexDMAP.cxx\n ** Lexer for MSC Nastran DMAP.\n ** Written by Mark Robinson"
},
{
"path": "lexers/LexDMIS.cxx",
"chars": 8868,
"preview": "// Scintilla source code edit control\n/** @file LexDMIS.cxx\n ** Lexer for DMIS.\n **/\n// Copyright 1998-2005 by Neil Hod"
},
{
"path": "lexers/LexDart.cxx",
"chars": 21847,
"preview": "// Scintilla source code edit control\n/** @file LexDart.cxx\n ** Lexer for Dart.\n **/\n// Based on Zufu Liu's Notepad4 Dar"
},
{
"path": "lexers/LexDataflex.cxx",
"chars": 19864,
"preview": "// Scintilla source code edit control\n/** @file LexDataflex.cxx\n ** Lexer for DataFlex.\n ** Based on LexPascal.cxx\n ** W"
},
{
"path": "lexers/LexDiff.cxx",
"chars": 5945,
"preview": "// Scintilla source code edit control\n/** @file LexDiff.cxx\n ** Lexer for diff results.\n **/\n// Copyright 1998-2001 by N"
},
{
"path": "lexers/LexECL.cxx",
"chars": 15708,
"preview": "// Scintilla source code edit control\n/** @file LexECL.cxx\n ** Lexer for ECL.\n **/\n// Copyright 1998-2001 by Neil Hodgso"
},
{
"path": "lexers/LexEDIFACT.cxx",
"chars": 10203,
"preview": "// Scintilla Lexer for EDIFACT\n// @file LexEDIFACT.cxx\n// Written by Iain Clarke, IMCSoft & Inobiz AB.\n// EDIFACT docume"
},
{
"path": "lexers/LexEScript.cxx",
"chars": 8241,
"preview": "// Scintilla source code edit control\n/** @file LexEScript.cxx\n ** Lexer for ESCRIPT\n **/\n// Copyright 2003 by Patrizio "
},
{
"path": "lexers/LexEiffel.cxx",
"chars": 7667,
"preview": "// Scintilla source code edit control\n/** @file LexEiffel.cxx\n ** Lexer for Eiffel.\n **/\n// Copyright 1998-2001 by Neil "
},
{
"path": "lexers/LexErlang.cxx",
"chars": 16636,
"preview": "// Scintilla source code edit control\n// Encoding: UTF-8\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n//"
},
{
"path": "lexers/LexErrorList.cxx",
"chars": 19164,
"preview": "// Scintilla source code edit control\n/** @file LexErrorList.cxx\n ** Lexer for error lists. Used for the output pane in "
},
{
"path": "lexers/LexEscSeq.cxx",
"chars": 16756,
"preview": "// Scintilla source code edit control\n/** @file LexEscSeq.cxx\n ** Lexer for terminal escape sequences.\n **/\n// Copyright"
},
{
"path": "lexers/LexFSharp.cxx",
"chars": 24923,
"preview": "/**\n * @file LexFSharp.cxx\n * Lexer for F# 5.0\n * Copyright (c) 2021 Robert Di Pardo <dipardo.r@gmail.com>\n * Parts of L"
},
{
"path": "lexers/LexFlagship.cxx",
"chars": 12349,
"preview": "// Scintilla source code edit control\n/** @file LexFlagship.cxx\n ** Lexer for Harbour and FlagShip.\n ** (Syntactically c"
},
{
"path": "lexers/LexForth.cxx",
"chars": 5637,
"preview": "// Scintilla source code edit control\n/** @file LexForth.cxx\n ** Lexer for FORTH\n **/\n// Copyright 1998-2003 by Neil Hod"
},
{
"path": "lexers/LexFortran.cxx",
"chars": 24751,
"preview": "// Scintilla source code edit control\n/** @file LexFortran.cxx\n ** Lexer for Fortran.\n ** Written by Chuan-jian Shen, La"
},
{
"path": "lexers/LexGAP.cxx",
"chars": 7030,
"preview": "// Scintilla source code edit control\n/** @file LexGAP.cxx\n ** Lexer for the GAP language. (The GAP System for Computati"
},
{
"path": "lexers/LexGDScript.cxx",
"chars": 24506,
"preview": "// Scintilla source code edit control\n/** @file LexGDScript.cxx\n ** Lexer for GDScript.\n **/\n// Copyright 1998-2002 by N"
},
{
"path": "lexers/LexGui4Cli.cxx",
"chars": 8981,
"preview": "// Scintilla source code edit control\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// @file LexGui4Cli.c"
},
{
"path": "lexers/LexHTML.cxx",
"chars": 90845,
"preview": "// Scintilla source code edit control\n/** @file LexHTML.cxx\n ** Lexer for HTML.\n **/\n// Copyright 1998-2005 by Neil Hodg"
},
{
"path": "lexers/LexHaskell.cxx",
"chars": 36686,
"preview": "/******************************************************************\n * LexHaskell.cxx\n *\n * A haskell lexer for th"
},
{
"path": "lexers/LexHex.cxx",
"chars": 29103,
"preview": "// Scintilla source code edit control\n/** @file LexHex.cxx\n ** Lexers for Motorola S-Record, Intel HEX and Tektronix ext"
},
{
"path": "lexers/LexHollywood.cxx",
"chars": 13307,
"preview": "// Scintilla source code edit control\n/** @file LexHollywood.cxx\n ** Lexer for Hollywood\n ** Written by Andreas Falkenha"
},
{
"path": "lexers/LexIndent.cxx",
"chars": 2553,
"preview": "// Scintilla source code edit control\n/** @file LexIndent.cxx\n ** Lexer for no language. Used for indentation-based fold"
},
{
"path": "lexers/LexInno.cxx",
"chars": 10987,
"preview": "// Scintilla source code edit control\n/** @file LexInno.cxx\n ** Lexer for Inno Setup scripts.\n **/\n// Written by Friedri"
},
{
"path": "lexers/LexJSON.cxx",
"chars": 14405,
"preview": "// Scintilla source code edit control\n/**\n * @file LexJSON.cxx\n * @date February 19, 2016\n * @brief Lexer for JSON and J"
},
{
"path": "lexers/LexJulia.cxx",
"chars": 41972,
"preview": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexJulia.cxx\n ** Lexer for Julia.\n ** Reusing code fr"
},
{
"path": "lexers/LexKVIrc.cxx",
"chars": 16352,
"preview": "// Scintilla source code edit control\n/** @file LexKVIrc.cxx\n ** Lexer for KVIrc script.\n **/\n// Copyright 2013 by Omega"
},
{
"path": "lexers/LexKix.cxx",
"chars": 3800,
"preview": "// Scintilla source code edit control\n/** @file LexKix.cxx\n ** Lexer for KIX-Scripts.\n **/\n// Copyright 2004 by Manfred "
},
{
"path": "lexers/LexLaTeX.cxx",
"chars": 16422,
"preview": "// Scintilla source code edit control\n/** @file LexLaTeX.cxx\n ** Lexer for LaTeX2e.\n **/\n// Copyright 1998-2001 by Neil"
},
{
"path": "lexers/LexLisp.cxx",
"chars": 8353,
"preview": "// Scintilla source code edit control\n/** @file LexLisp.cxx\n ** Lexer for Lisp.\n ** Written by Alexey Yutkin.\n **/\n// Co"
},
{
"path": "lexers/LexLout.cxx",
"chars": 6095,
"preview": "// Scintilla source code edit control\n/** @file LexLout.cxx\n ** Lexer for the Basser Lout (>= version 3) typesetting lan"
},
{
"path": "lexers/LexLua.cxx",
"chars": 20017,
"preview": "// Scintilla source code edit control\n/** @file LexLua.cxx\n ** Lexer for Lua language.\n **\n ** Written by Paul Winwood.\n"
},
{
"path": "lexers/LexMMIXAL.cxx",
"chars": 5377,
"preview": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexMMIXAL.cxx\n ** Lexer for MMIX Assembler Language.\n"
},
{
"path": "lexers/LexMPT.cxx",
"chars": 5291,
"preview": "// Scintilla source code edit control\n/** @file LexMPT.cxx\n ** Lexer for MPT specific files. Based on LexOthers.cxx\n ** "
},
{
"path": "lexers/LexMSSQL.cxx",
"chars": 11732,
"preview": "// Scintilla source code edit control\n/** @file LexMSSQL.cxx\n ** Lexer for MSSQL.\n **/\n// By Filip Yaghob <fyaghob@gmail"
},
{
"path": "lexers/LexMagik.cxx",
"chars": 13693,
"preview": "// Scintilla source code edit control\n/**\n * @file LexMagik.cxx\n * Lexer for GE(r) Smallworld(tm) MagikSF\n */\n// Copyrig"
},
{
"path": "lexers/LexMake.cxx",
"chars": 7138,
"preview": "// Scintilla source code edit control\n/** @file LexMake.cxx\n ** Lexer for make files.\n **/\n// Copyright 1998-2001 by Nei"
},
{
"path": "lexers/LexMarkdown.cxx",
"chars": 18286,
"preview": "/******************************************************************\n * LexMarkdown.cxx\n *\n * A simple Markdown lexer f"
},
{
"path": "lexers/LexMatlab.cxx",
"chars": 17988,
"preview": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexMatlab.cxx\n ** Lexer for Matlab.\n ** Written by Jo"
},
{
"path": "lexers/LexMaxima.cxx",
"chars": 5045,
"preview": "// Scintilla source code edit control\n/** @file LexMaxima.cxx\n ** Lexer for Maxima (http://maxima.sourceforge.net).\n ** "
},
{
"path": "lexers/LexMetapost.cxx",
"chars": 11080,
"preview": "// Scintilla source code edit control\n\n// @file LexMetapost.cxx - general context conformant metapost coloring scheme\n//"
},
{
"path": "lexers/LexModula.cxx",
"chars": 16689,
"preview": "//\t-*- coding: utf-8 -*-\n//\tScintilla source code edit control\n/**\n *\t@file LexModula.cxx\n *\t@author Dariusz \"DKnoto\" Kn"
},
{
"path": "lexers/LexMySQL.cxx",
"chars": 18679,
"preview": "/**\n * Scintilla source code edit control\n * @file LexMySQL.cxx\n * Lexer for MySQL\n *\n * Improved by Mike Lischke <mike."
},
{
"path": "lexers/LexNim.cxx",
"chars": 27530,
"preview": "// Scintilla source code edit control\n/** @file LexNim.cxx\n** Lexer for Nim\n** Written by Jad Altahan (github.com/xv)\n**"
},
{
"path": "lexers/LexNimrod.cxx",
"chars": 13932,
"preview": "// Scintilla source code edit control\n// Nimrod lexer\n// (c) 2009 Andreas Rumpf\n/** @file LexNimrod.cxx\n ** Lexer for Ni"
},
{
"path": "lexers/LexNix.cxx",
"chars": 14855,
"preview": "// Scintilla source code edit control\n/** @file LexNix.cxx\n ** Lexer for Nix.\n **/\n// Based on Zufu Liu's Notepad4 Dart "
},
{
"path": "lexers/LexNsis.cxx",
"chars": 19027,
"preview": "// Scintilla source code edit control\n/** @file LexNsis.cxx\n ** Lexer for NSIS\n **/\n// Copyright 2003 - 2005 by Angelo M"
},
{
"path": "lexers/LexNull.cxx",
"chars": 1151,
"preview": "// Scintilla source code edit control\n/** @file LexNull.cxx\n ** Lexer for no language. Used for plain text and unrecogni"
},
{
"path": "lexers/LexOScript.cxx",
"chars": 19738,
"preview": "// Scintilla source code edit control\n/** @file LexOScript.cxx\n ** Lexer for OScript sources; ocx files and/or OSpace du"
},
{
"path": "lexers/LexOpal.cxx",
"chars": 9821,
"preview": "// Scintilla source code edit control\n/** @file LexOpal.cxx\n ** Lexer for OPAL (functional language similar to Haskell)\n"
},
{
"path": "lexers/LexPB.cxx",
"chars": 12631,
"preview": "// Scintilla source code edit control\n// @file LexPB.cxx\n// Lexer for PowerBasic by Roland Walter, roland@rowalt.de (for"
},
{
"path": "lexers/LexPLM.cxx",
"chars": 5682,
"preview": "// Copyright (c) 1990-2007, Scientific Toolworks, Inc.\n// @file LexPLM.cxx\n// Author: Jason Haslam\n// The License.txt fi"
},
{
"path": "lexers/LexPO.cxx",
"chars": 6673,
"preview": "// Scintilla source code edit control\n/** @file LexPO.cxx\n ** Lexer for GetText Translation (PO) files.\n **/\n// Copyrigh"
},
{
"path": "lexers/LexPOV.cxx",
"chars": 9589,
"preview": "// Scintilla source code edit control\n/** @file LexPOV.cxx\n ** Lexer for POV-Ray SDL (Persistance of Vision Raytracer, S"
},
{
"path": "lexers/LexPS.cxx",
"chars": 12678,
"preview": "// Scintilla source code edit control\n/** @file LexPS.cxx\n ** Lexer for PostScript\n **\n ** Written by Nigel Hathaway <ni"
},
{
"path": "lexers/LexPascal.cxx",
"chars": 26003,
"preview": "// Scintilla source code edit control\n/** @file LexPascal.cxx\n ** Lexer for Pascal.\n ** Written by Laurent le Tynevez\n *"
},
{
"path": "lexers/LexPerl.cxx",
"chars": 63450,
"preview": "// Scintilla source code edit control\n/** @file LexPerl.cxx\n ** Lexer for Perl.\n ** Converted to lexer object by \"Udo Le"
},
{
"path": "lexers/LexPowerPro.cxx",
"chars": 20488,
"preview": "// Scintilla source code edit control\n// @file LexPowerPro.cxx\n// PowerPro utility, written by Bruce Switzer, is availab"
},
{
"path": "lexers/LexPowerShell.cxx",
"chars": 8848,
"preview": "// Scintilla source code edit control\n/** @file LexPowerShell.cxx\n ** Lexer for PowerShell scripts.\n **/\n// Copyright 20"
},
{
"path": "lexers/LexProgress.cxx",
"chars": 22690,
"preview": "// Scintilla source code edit control\n/** @file LexProgress.cxx\n ** Lexer for Progress 4GL.\n ** Based on LexCPP.cxx of "
},
{
"path": "lexers/LexProps.cxx",
"chars": 5266,
"preview": "// Scintilla source code edit control\n/** @file LexProps.cxx\n ** Lexer for properties files.\n **/\n// Copyright 1998-2001"
},
{
"path": "lexers/LexPython.cxx",
"chars": 38341,
"preview": "// Scintilla source code edit control\n/** @file LexPython.cxx\n ** Lexer for Python.\n **/\n// Copyright 1998-2002 by Neil "
},
{
"path": "lexers/LexR.cxx",
"chars": 9669,
"preview": "// Scintilla source code edit control\n/** @file LexR.cxx\n ** Lexer for R, S, SPlus Statistics Program (Heavily derived f"
},
{
"path": "lexers/LexRaku.cxx",
"chars": 50708,
"preview": "/** @file LexRaku.cxx\n ** Lexer for Raku\n **\n ** Copyright (c) 2019 Mark Reay <mark@reay.net.au>\n **/\n// Copyright 1998-"
},
{
"path": "lexers/LexRebol.cxx",
"chars": 10782,
"preview": "// Scintilla source code edit control\n/** @file LexRebol.cxx\n ** Lexer for REBOL.\n ** Written by Pascal Hurni, inspired "
},
{
"path": "lexers/LexRegistry.cxx",
"chars": 11494,
"preview": "// Scintilla source code edit control\n/**\n * @file LexRegistry.cxx\n * @date July 26 2014\n * @brief Lexer for Windows reg"
},
{
"path": "lexers/LexRuby.cxx",
"chars": 82455,
"preview": "// Scintilla source code edit control\n/** @file LexRuby.cxx\n ** Lexer for Ruby.\n **/\n// Copyright 2001- by Clemens Wyss "
},
{
"path": "lexers/LexRust.cxx",
"chars": 28532,
"preview": "/** @file LexRust.cxx\n ** Lexer for Rust.\n **\n ** Copyright (c) 2013 by SiegeLord <slabode@aim.com>\n ** Converted to lex"
},
{
"path": "lexers/LexSAS.cxx",
"chars": 7856,
"preview": "// Scintilla source code edit control\n/** @file LexSAS.cxx\n ** Lexer for SAS\n **/\n// Author: Luke Rasmussen (luke.rasmus"
},
{
"path": "lexers/LexSINEX.cxx",
"chars": 10039,
"preview": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexSINEX.cxx\n ** Lexer for SINEX (Solution INdependen"
},
{
"path": "lexers/LexSML.cxx",
"chars": 5941,
"preview": "// Scintilla source code edit control\n/** @file LexSML.cxx\n ** Lexer for SML.\n **/\n// Copyright 2009 by James Moffatt an"
},
{
"path": "lexers/LexSQL.cxx",
"chars": 31575,
"preview": "//-*- coding: utf-8 -*-\n// Scintilla source code edit control\n/** @file LexSQL.cxx\n ** Lexer for SQL, including PL/SQL a"
},
{
"path": "lexers/LexSTTXT.cxx",
"chars": 11063,
"preview": "// Scintilla source code edit control\n/** @file LexSTTXT.cxx\n ** Lexer for Structured Text language.\n ** Written by Pave"
},
{
"path": "lexers/LexScriptol.cxx",
"chars": 11998,
"preview": "// Scintilla source code edit control\n/** @file LexScriptol.cxx\n ** Lexer for Scriptol.\n **/\n\n#include <stdlib.h>\n#inclu"
},
{
"path": "lexers/LexSmalltalk.cxx",
"chars": 9068,
"preview": "// Scintilla source code edit control\n/** @file LexSmalltalk.cxx\n ** Lexer for Smalltalk language.\n ** Written by Sergey"
},
{
"path": "lexers/LexSorcus.cxx",
"chars": 4797,
"preview": "// Scintilla source code edit control\n/** @file LexSorcus.cxx\n** Lexer for SORCUS installation files\n** Written by Eugen"
},
{
"path": "lexers/LexSpecman.cxx",
"chars": 9101,
"preview": "// Scintilla source code edit control\n/** @file LexSpecman.cxx\n ** Lexer for Specman E language.\n ** Written by Avi Yegu"
},
{
"path": "lexers/LexSpice.cxx",
"chars": 6119,
"preview": "// Scintilla source code edit control\n/** @file LexSpice.cxx\n ** Lexer for Spice\n **/\n// Copyright 2006 by Fabien Prorio"
},
{
"path": "lexers/LexStata.cxx",
"chars": 7345,
"preview": "// Scintilla source code edit control\n/** @file LexStata.cxx\n ** Lexer for Stata\n **/\n// Author: Luke Rasmussen (luke.ra"
},
{
"path": "lexers/LexTACL.cxx",
"chars": 11214,
"preview": "// Scintilla source code edit control\n/** @file LexTACL.cxx\n ** Lexer for TACL\n ** Based on LexPascal.cxx\n ** Written by"
},
{
"path": "lexers/LexTADS3.cxx",
"chars": 37530,
"preview": "// Scintilla source code edit control\n/** @file LexTADS3.cxx\n ** Lexer for TADS3.\n **/\n// Copyright 1998-2006 by Neil Ho"
},
{
"path": "lexers/LexTAL.cxx",
"chars": 11210,
"preview": "// Scintilla source code edit control\n/** @file LexTAL.cxx\n ** Lexer for TAL\n ** Based on LexPascal.cxx\n ** Written by L"
},
{
"path": "lexers/LexTCL.cxx",
"chars": 11324,
"preview": "// Scintilla source code edit control\n/** @file LexTCL.cxx\n ** Lexer for TCL language.\n **/\n// Copyright 1998-2001 by An"
},
{
"path": "lexers/LexTCMD.cxx",
"chars": 16724,
"preview": "// Scintilla\\ source code edit control\n/** @file LexTCMD.cxx\n ** Lexer for Take Command / TCC batch scripts (.bat, .btm,"
},
{
"path": "lexers/LexTOML.cxx",
"chars": 13311,
"preview": "// Scintilla source code edit control\n/** @file LexTOML.cxx\n ** Lexer for TOML language.\n **/\n// Based on Zufu Liu's Not"
},
{
"path": "lexers/LexTeX.cxx",
"chars": 14052,
"preview": "// Scintilla source code edit control\n\n// @file LexTeX.cxx - general context conformant tex coloring scheme\n// Author: H"
},
{
"path": "lexers/LexTroff.cxx",
"chars": 26455,
"preview": "// Scintilla source code edit control\n/** @file LexTroff.cxx\n ** Lexer for the Troff typesetting language.\n ** This shou"
},
{
"path": "lexers/LexTxt2tags.cxx",
"chars": 17142,
"preview": "/******************************************************************\n * LexTxt2tags.cxx\n *\n * A simple Txt2tags lexer f"
},
{
"path": "lexers/LexVB.cxx",
"chars": 12247,
"preview": "// Scintilla source code edit control\n/** @file LexVB.cxx\n ** Lexer for Visual Basic and VBScript.\n **/\n// Copyright 199"
},
{
"path": "lexers/LexVHDL.cxx",
"chars": 21022,
"preview": "// Scintilla source code edit control\n/** @file LexVHDL.cxx\n ** Lexer for VHDL\n ** Written by Phil Reid,\n ** Based on:\n "
},
{
"path": "lexers/LexVerilog.cxx",
"chars": 35906,
"preview": "// Scintilla source code edit control\n/** @file LexVerilog.cxx\n ** Lexer for Verilog.\n ** Written by Avi Yegudin, based "
},
{
"path": "lexers/LexVisualProlog.cxx",
"chars": 26299,
"preview": "// Scintilla source code edit control\n/** @file LexVisualProlog.cxx\n** Lexer for Visual Prolog.\n**/\n// Author Thomas Lin"
},
{
"path": "lexers/LexX12.cxx",
"chars": 12326,
"preview": "// Scintilla Lexer for X12\n// @file LexX12.cxx\n// Written by Iain Clarke, IMCSoft & Inobiz AB.\n// X12 official documenta"
},
{
"path": "lexers/LexYAML.cxx",
"chars": 12981,
"preview": "// Scintilla source code edit control\n/** @file LexYAML.cxx\n ** Lexer for YAML.\n **/\n// Copyright 2003- by Sean O'Dell <"
},
{
"path": "lexers/LexZig.cxx",
"chars": 13655,
"preview": "// Scintilla source code edit control\n/** @file LexZig.cxx\n ** Lexer for Zig language.\n **/\n// Based on Zufu Liu's Notep"
},
{
"path": "lexlib/Accessor.cxx",
"chars": 2295,
"preview": "// Scintilla source code edit control\n/** @file Accessor.cxx\n ** Interfaces between Scintilla and lexers.\n **/\n// Copyri"
},
{
"path": "lexlib/Accessor.h",
"chars": 852,
"preview": "// Scintilla source code edit control\n/** @file Accessor.h\n ** Interfaces between Scintilla and lexers.\n **/\n// Copyrigh"
},
{
"path": "lexlib/CatalogueModules.h",
"chars": 1781,
"preview": "// Scintilla source code edit control\n/** @file CatalogueModules.h\n ** Lexer infrastructure.\n ** Contains a list of Lexe"
},
{
"path": "lexlib/CharacterCategory.cxx",
"chars": 41657,
"preview": "// Scintilla source code edit control\n/** @file CharacterCategory.cxx\n ** Returns the Unicode general category of a char"
},
{
"path": "lexlib/CharacterCategory.h",
"chars": 1341,
"preview": "// Scintilla source code edit control\n/** @file CharacterCategory.h\n ** Returns the Unicode general category of a charac"
},
{
"path": "lexlib/CharacterSet.cxx",
"chars": 1372,
"preview": "// Scintilla source code edit control\n/** @file CharacterSet.cxx\n ** Simple case functions for ASCII.\n ** Lexer infrastr"
},
{
"path": "lexlib/CharacterSet.h",
"chars": 5753,
"preview": "// Scintilla source code edit control\n/** @file CharacterSet.h\n ** Encapsulates a set of characters. Used to test if a c"
},
{
"path": "lexlib/DefaultLexer.cxx",
"chars": 3504,
"preview": "// Scintilla source code edit control\n/** @file DefaultLexer.cxx\n ** A lexer base class that provides reasonable default"
},
{
"path": "lexlib/DefaultLexer.h",
"chars": 2779,
"preview": "// Scintilla source code edit control\n/** @file DefaultLexer.h\n ** A lexer base class with default empty implementations"
},
{
"path": "lexlib/InList.cxx",
"chars": 861,
"preview": "// Scintilla source code edit control\n/** @file InList.cxx\n ** Check if a string is in a list.\n **/\n// Copyright 2024 by"
},
{
"path": "lexlib/InList.h",
"chars": 516,
"preview": "// Scintilla source code edit control\n/** @file InList.h\n ** Check if a string is in a list.\n **/\n// Copyright 2024 by N"
},
{
"path": "lexlib/LexAccessor.cxx",
"chars": 2607,
"preview": "// Scintilla source code edit control\n/** @file LexAccessor.cxx\n ** Interfaces between Scintilla and lexers.\n **/\n// Cop"
},
{
"path": "lexlib/LexAccessor.h",
"chars": 7234,
"preview": "// Scintilla source code edit control\n/** @file LexAccessor.h\n ** Interfaces between Scintilla and lexers.\n **/\n// Copyr"
},
{
"path": "lexlib/LexerBase.cxx",
"chars": 3307,
"preview": "// Scintilla source code edit control\n/** @file LexerBase.cxx\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2"
},
{
"path": "lexlib/LexerBase.h",
"chars": 2453,
"preview": "// Scintilla source code edit control\n/** @file LexerBase.h\n ** A simple lexer with no state.\n **/\n// Copyright 1998-201"
},
{
"path": "lexlib/LexerModule.cxx",
"chars": 3059,
"preview": "// Scintilla source code edit control\n/** @file LexerModule.cxx\n ** Colourise for particular languages.\n **/\n// Copyrigh"
},
{
"path": "lexlib/LexerModule.h",
"chars": 2772,
"preview": "// Scintilla source code edit control\n/** @file LexerModule.h\n ** Colourise for particular languages.\n **/\n// Copyright "
},
{
"path": "lexlib/LexerSimple.cxx",
"chars": 1734,
"preview": "// Scintilla source code edit control\n/** @file LexerSimple.cxx\n ** A simple lexer with no state.\n **/\n// Copyright 1998"
},
{
"path": "lexlib/LexerSimple.h",
"chars": 947,
"preview": "// Scintilla source code edit control\n/** @file LexerSimple.h\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2"
},
{
"path": "lexlib/OptionSet.h",
"chars": 4977,
"preview": "// Scintilla source code edit control\n/** @file OptionSet.h\n ** Manage descriptive information about an options struct f"
},
{
"path": "lexlib/PropSetSimple.cxx",
"chars": 1636,
"preview": "// Scintilla source code edit control\n/** @file PropSetSimple.cxx\n ** A basic string to string map.\n **/\n// Copyright 19"
},
{
"path": "lexlib/PropSetSimple.h",
"chars": 851,
"preview": "// Scintilla source code edit control\n/** @file PropSetSimple.h\n ** A basic string to string map.\n **/\n// Copyright 1998"
},
{
"path": "lexlib/SparseState.h",
"chars": 3066,
"preview": "// Scintilla source code edit control\n/** @file SparseState.h\n ** Hold lexer state that may change rarely.\n ** This is o"
},
{
"path": "lexlib/StringCopy.h",
"chars": 851,
"preview": "// Scintilla source code edit control\n/** @file StringCopy.h\n ** Safe string copy function which always NUL terminates.\n"
},
{
"path": "lexlib/StyleContext.cxx",
"chars": 2598,
"preview": "// Scintilla source code edit control\n/** @file StyleContext.cxx\n ** Lexer infrastructure.\n **/\n// Copyright 1998-2004 b"
},
{
"path": "lexlib/StyleContext.h",
"chars": 5626,
"preview": "// Scintilla source code edit control\n/** @file StyleContext.h\n ** Lexer infrastructure.\n **/\n// Copyright 1998-2004 by "
},
{
"path": "lexlib/SubStyles.h",
"chars": 5208,
"preview": "// Scintilla source code edit control\n/** @file SubStyles.h\n ** Manage substyles for a lexer.\n **/\n// Copyright 2012 by "
},
{
"path": "lexlib/WordList.cxx",
"chars": 8150,
"preview": "// Scintilla source code edit control\n/** @file WordList.cxx\n ** Hold a list of words.\n **/\n// Copyright 1998-2002 by Ne"
},
{
"path": "lexlib/WordList.h",
"chars": 1335,
"preview": "// Scintilla source code edit control\n/** @file WordList.h\n ** Hold a list of words.\n **/\n// Copyright 1998-2010 by Neil"
},
{
"path": "scripts/HeaderOrder.txt",
"chars": 1998,
"preview": "// Define the standard order in which to include header files\n// All platform headers should be included before Scintill"
},
{
"path": "scripts/LexFacer.py",
"chars": 846,
"preview": "#!/usr/bin/env python3\n# LexFacer.py - regenerate the SciLexer.h files from the LexicalStyles.iface interface\n# definiti"
},
{
"path": "scripts/LexillaData.py",
"chars": 13867,
"preview": "#!/usr/bin/env python3\n# LexillaData.py - implemented 2013 by Neil Hodgson neilh@scintilla.org\n# Released to the public "
},
{
"path": "scripts/LexillaGen.py",
"chars": 6766,
"preview": "#!/usr/bin/env python3\n# LexillaGen.py - implemented 2019 by Neil Hodgson neilh@scintilla.org\n# Released to the public d"
},
{
"path": "scripts/LexillaLogo.py",
"chars": 1779,
"preview": "# LexillaLogo.py\n# Requires Python 3.6.\n# Requires Pillow https://python-pillow.org/, tested with 7.2.0 on Windows 10\n\n"
},
{
"path": "scripts/PromoteNew.bat",
"chars": 602,
"preview": "@echo off\nrem Promote new result files.\nrem Find all the *.new files under test\\examples and copy them to their expected"
},
{
"path": "scripts/RunTest.bat",
"chars": 168,
"preview": "rem Test lexers\nrem build lexilla.dll and TestLexers.exe then run TestLexers.exe\ncd ../src\nmake --jobs=%NUMBER_OF_PROCES"
},
{
"path": "scripts/RunTest.sh",
"chars": 184,
"preview": "# Test lexers\n# build lexilla.so and TestLexers then run TestLexers\nJOBS=\"--jobs=$(getconf _NPROCESSORS_ONLN)\"\n(\ncd ../s"
},
{
"path": "src/DepGen.py",
"chars": 1434,
"preview": "#!/usr/bin/env python3\n# DepGen.py - produce a make dependencies file for Scintilla\n# Copyright 2019 by Neil Hodgson <ne"
},
{
"path": "src/Lexilla/Info.plist",
"chars": 861,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "src/Lexilla/Lexilla.xcodeproj/project.pbxproj",
"chars": 82728,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 152,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:Lexilla.xcodepr"
},
{
"path": "src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "src/Lexilla.cxx",
"chars": 9229,
"preview": "// Lexilla lexer library\n/** @file Lexilla.cxx\n ** Lexer infrastructure.\n ** Provides entry points to shared library.\n *"
},
{
"path": "src/Lexilla.def",
"chars": 143,
"preview": "EXPORTS\n\tGetLexerCount\n\tGetLexerName\n\tGetLexerFactory\n\tCreateLexer\n\tLexerNameFromID\n\tGetLibraryPropertyNames\n\tSetLibrary"
},
{
"path": "src/Lexilla.pro",
"chars": 713,
"preview": "# This Qt Creator project file is not meant for creating Lexilla libraries\n# but instead for easily running Clang-Tidy o"
},
{
"path": "src/Lexilla.ruleset",
"chars": 637,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<RuleSet Name=\"Lexilla Rules\" Description=\"A set of rules for Lexilla. Don't ch"
},
{
"path": "src/Lexilla.vcxproj",
"chars": 7580,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.micro"
},
{
"path": "src/LexillaVersion.rc",
"chars": 1034,
"preview": "// Resource file for Lexilla - provides a version number\n// Copyright 2020 by Neil Hodgson <neilh@scintilla.org>\n// The "
},
{
"path": "src/deps.mak",
"chars": 48657,
"preview": "# Created by DepGen.py. To recreate, run DepGen.py.\n$(DIR_O)/Lexilla.o: \\\n\t../src/Lexilla.cxx \\\n\t../../scintilla/include"
}
]
// ... and 696 more files (download for full content)
About this extraction
This page contains the full source code of the ScintillaOrg/lexilla GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 896 files (4.5 MB), approximately 1.2M tokens, and a symbol index with 3573 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.