desjarlais / Scintilla.NET

A Windows Forms control, wrapper, and bindings for the Scintilla text editor.
MIT License
95 stars 22 forks source link

'Scintilla.Lexer' is obsolete #81

Closed thehill383 closed 8 months ago

thehill383 commented 11 months ago

I am recieiving the following warning in project using Scintilla.NET 5.3.2.9, the latest version. warning CS0618: 'Scintilla.Lexer' is obsolete: 'This property will get more obsolete as time passes as the Scintilla v.5+ now uses strings to define lexers. Please use the LexerName property instead.'

I cant find any documentation on what the valid Lexername values are. On the page Automatic Syntax Highlighting it still shows the example scintilla.Lexer = Lexer.Cpp;

VPKSoft commented 11 months ago

Hi, The property probably will be "un-deprecated" depending on the future maintainer (see: #79 and https://github.com/VPKSoft/Scintilla.NET/discussions/78). This is also discussed in the issue 68: https://github.com/VPKSoft/Scintilla.NET/issues/68#issuecomment-1701132874

Here are the supported lexer names:

a68k
abaqus
ada
apdl
as
asciidoc
asm
asn1
asy
au3
ave
avs
baan
bash
batch
bib
blitzbasic
bullant
caml
cil
clarion
clarionnocase
cmake
COBOL
coffeescript
conf
cpp
cppnocase
csound
css
d
dataflex
diff
DMAP
DMIS
ecl
edifact
eiffel
eiffelkw
erlang
errorlist
escript
f77
flagship
forth
fortran
freebasic
fsharp
gap
gdscript
gui4cli
haskell
hollywood
hypertext
ihex
indent
inno
json
julia
kix
kvirc
latex
lisp
literatehaskell
lot
lout
lua
magiksf
makefile
markdown
matlab
maxima
metapost
mmixal
modula
mssql
mysql
nim
nimrod
nncrontab
nsis
null
octave
opal
oscript
pascal
powerbasic
perl
phpscript
PL/M
po
pov
powerpro
powershell
abl
props
ps
purebasic
python
r
raku
rebol
registry
ruby
rust
sas
scriptol
smalltalk
SML
sorcins
specman
spice
sql
srec
stata
fcST
TACL
tads3
TAL
tcl
tcmd
tehex
tex
txt2tags
vb
vbscript
verilog
vhdl
visualprolog
x12
xml
yaml

The code to get the supported lexer names:

for (int i = 0; i < Lexilla.GetLexerCount(); i++)
{
    scintilla.AppendText(Lexilla.GetLexerName(i) + Environment.NewLine);
}
desjarlais commented 8 months ago

@thehill383 is LexerName something you can use or do you think this behavior should come back into the library?