SyntaxHighlighting für PB4.10 (ScintillaGadget)

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

X0r hat geschrieben:WSciTE? Soll das ein Hack sein?
Vielleicht besuchste mal die Scintilla Webside und findest das selber raus :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

SciTE hatte ich mir schon runtergeladen.

Meinst du diese properties-Dateien ?
Im Ordner war folgende für HTML dabei:

Code: Alles auswählen

# Define SciTE settings for HTML files.

# vxml added by lseredi

# tpl is X and Mail specific
file.patterns.web=*.html;*.htm;*.asp;*.shtml;*.htd;*.jsp
file.patterns.php=*.php3;*.phtml;*.php
file.patterns.html=$(file.patterns.web);$(file.patterns.php);*.htt;*.cfm;*.tpl;*.dtd;*.hta
file.patterns.vxml=*.vxml
file.patterns.xml=*.xml;*.xsl;*.svg;*.xul;*.xsd;*.dtd;*.xslt;*.axl;*.xrc;*.rdf
file.patterns.docbook=*.docbook

lexer.$(file.patterns.html)=hypertext
lexer.$(file.patterns.vxml)=hypertext
lexer.$(file.patterns.xml)=xml
lexer.$(file.patterns.docbook)=hypertext

filter.web=Web (html htm asp shtml css xml docbook jsp)|$(file.patterns.web);*.css;*.xml;*.docbook|
filter.php=PHP (php php3 phtml)|$(file.patterns.php)|

fold.html=1
#fold.html.preprocessor=0

#Default Language=1 for JS, 2 for VBS.
#asp.default.language=2
#html.tags.case.sensitive=1

#xml.auto.close.tags=1

# All hypertext elements and attributes must be listed in lower case
hypertext.elements=\
a abbr acronym address applet area b base basefont \
bdo big blockquote body br button caption center \
cite code col colgroup dd del dfn dir div dl dt em \
fieldset font form frame frameset h1 h2 h3 h4 h5 h6 \
head hr html i iframe img input ins isindex kbd label \
legend li link map menu meta noframes noscript \
object ol optgroup option p param pre q s samp \
script select small span strike strong style sub sup \
table tbody td textarea tfoot th thead title tr tt u ul \
var xml xmlns

hypertext.attributes=\
abbr accept-charset accept accesskey action align alink \
alt archive axis background bgcolor border \
cellpadding cellspacing char charoff charset checked cite \
class classid clear codebase codetype color cols colspan \
compact content coords \
data datafld dataformatas datapagesize datasrc datetime \
declare defer dir disabled enctype event \
face for frame frameborder \
headers height href hreflang hspace http-equiv \
id ismap label lang language leftmargin link longdesc \
marginwidth marginheight maxlength media method multiple \
name nohref noresize noshade nowrap \
object onblur onchange onclick ondblclick onfocus \
onkeydown onkeypress onkeyup onload onmousedown \
onmousemove onmouseover onmouseout onmouseup \
onreset onselect onsubmit onunload \
profile prompt readonly rel rev rows rowspan rules \
scheme scope selected shape size span src standby start style \
summary tabindex target text title topmargin type usemap \
valign value valuetype version vlink vspace width \
text password checkbox radio submit reset \
file hidden image

# As defined in "Web Applications 1.0" Working Draft
# http://www.whatwg.org/specs/web-apps/current-work/
html5.elements=\
article aside calendar canvas card command commandset datagrid datatree \
footer gauge header m menubar menulabel nav progress section switch tabbox

html5.attributes=\
active command contenteditable ping

keywordclass.hypertext=\
$(hypertext.elements) $(hypertext.attributes) $(html5.elements) $(html5.attributes) public !doctype

vxml.elements=\
assign audio block break catch choice clear disconnect else elseif \
emphasis enumerate error exit field filled form goto grammar help \
if initial link log menu meta noinput nomatch object option p paragraph \
param phoneme prompt property prosody record reprompt return s say-as \
script sentence subdialog submit throw transfer value var voice vxml

vxml.attributes=\
accept age alphabet anchor application base beep bridge category charset \
classid cond connecttimeout content contour count dest destexpr dtmf dtmfterm \
duration enctype event eventexpr expr expritem fetchtimeout finalsilence \
gender http-equiv id level maxage maxstale maxtime message messageexpr \
method mime modal mode name namelist next nextitem ph pitch range rate \
scope size sizeexpr skiplist slot src srcexpr sub time timeexpr timeout \
transferaudio type value variant version volume xml:lang

keywordclass.vxml=\
$(vxml.elements) $(vxml.attributes) public !doctype

# List from http://www.php.net/manual/en/reserved.php
# For a list with functions http://www.scintilla.org/SciTEExtras.html
# All words should be lower case to ensure case insensitivity when comparing
keywordclass.php=\
and array as bool boolean break case cfunction class const continue declare \
default die directory do double echo else elseif empty enddeclare endfor \
endforeach endif endswitch endwhile eval exit extends false float for \
foreach function global if include include_once int integer isset list new \
null object old_function or parent print real require require_once resource \
return static stdclass string switch true unset use var while xor \
abstract catch clone exception final implements interface php_user_filter \
private protected public this throw try \
__class__ __file__ __function__ __line__ __method__ __sleep __wakeup

# Override keywordclass.php with another file if present
import phpfunctions

keywords.$(file.patterns.html)=$(keywordclass.hypertext)
# JavaScript keywords are possible inside embedded Javascript
keywords2.$(file.patterns.html)=$(keywordclass.javascript)
# VBScript keywords are possible inside embedded VBScript
keywords3.$(file.patterns.html)=$(keywordclass.vb)
# Python keywords are possible inside embedded Python
keywords4.$(file.patterns.html)=$(keywordclass.python)
# PHP keywords are possible inside embedded PHP
keywords5.$(file.patterns.html)=$(keywordclass.php)
# SGML / DTD keywords
keywords6.$(file.patterns.html)=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION

# START DocBook
docbook.elements42=\
abbrev abstract accel ackno acronym action address affiliation alt anchor \
answer appendix appendixinfo application area areaset areaspec arg article \
articleinfo artpagenums attribution audiodata audioobject author authorblurb \
authorgroup authorinitials beginpage bibliocoverage bibliodiv biblioentry \
bibliography bibliographyinfo biblioid bibliomisc bibliomixed bibliomset \
bibliorelation biblioset bibliosource blockinfo blockquote book bookinfo \
bridgehead callout calloutlist caption caution chapter chapterinfo citation \
citebiblioid citerefentry citetitle city classname classsynopsis classsynopsisinfo \
cmdsynopsis co collab collabname colophon colspec command computeroutput \
confdates confgroup confnum confsponsor conftitle constant constraint \
constraintdef constructorsynopsis contractnum contractsponsor contrib \
copyright coref corpauthor corpname country database date dedication \
destructorsynopsis edition editor email emphasis entry entrytbl envar \
epigraph equation errorcode errorname errortext errortype example \
exceptionname fax fieldsynopsis figure filename firstname firstterm \
footnote footnoteref foreignphrase formalpara funcdef funcparams \
funcprototype funcsynopsis funcsynopsisinfo function glossary glossaryinfo \
glossdef glossdiv glossentry glosslist glosssee glossseealso glossterm \
graphic graphicco group guibutton guiicon guilabel guimenu guimenuitem \
guisubmenu hardware highlights holder honorific htm imagedata imageobject \
imageobjectco important index indexdiv indexentry indexinfo indexterm \
informalequation informalexample informalfigure informaltable initializer \
inlineequation inlinegraphic inlinemediaobject interface interfacename \
invpartnumber isbn issn issuenum itemizedlist itermset jobtitle keycap \
keycode keycombo keysym keyword keywordset label legalnotice lhs lineage \
lineannotation link listitem iteral literallayout lot lotentry manvolnum \
markup medialabel mediaobject mediaobjectco member menuchoice methodname \
methodparam methodsynopsis mm modespec modifier ousebutton msg msgaud \
msgentry msgexplan msginfo msglevel msgmain msgorig msgrel msgset msgsub \
msgtext nonterminal note objectinfo olink ooclass ooexception oointerface \
option optional orderedlist orgdiv orgname otheraddr othercredit othername \
pagenums para paramdef parameter part partinfo partintro personblurb \
personname phone phrase pob postcode preface prefaceinfo primary primaryie \
printhistory procedure production productionrecap productionset productname \
productnumber programlisting programlistingco prompt property pubdate publisher \
publishername pubsnumber qandadiv qandaentry qandaset question quote refclass \
refdescriptor refentry refentryinfo refentrytitle reference referenceinfo \
refmeta refmiscinfo refname refnamediv refpurpose refsect1 refsect1info refsect2 \
refsect2info refsect3 refsect3info refsection refsectioninfo refsynopsisdiv \
refsynopsisdivinfo releaseinfo remark replaceable returnvalue revdescription \
revhistory revision revnumber revremark rhs row sbr screen screenco screeninfo \
screenshot secondary secondaryie sect1 sect1info sect2 sect2info sect3 sect3info \
sect4 sect4info sect5 sect5info section sectioninfo see seealso seealsoie \
seeie seg seglistitem segmentedlist segtitle seriesvolnums set setindex \
setindexinfo setinfo sgmltag shortaffil shortcut sidebar sidebarinfo simpara \
simplelist simplemsgentry simplesect spanspec state step street structfield \
structname subject subjectset subjectterm subscript substeps subtitle \
superscript surname sv symbol synopfragment synopfragmentref synopsis \
systemitem table tbody term tertiary tertiaryie textdata textobject tfoot \
tgroup thead tip title titleabbrev toc tocback tocchap tocentry tocfront \
toclevel1 toclevel2 toclevel3 toclevel4 toclevel5 tocpart token trademark \
type ulink userinput varargs variablelist varlistentry varname videodata \
videoobject void volumenum warning wordasword xref year

docbook.attributes=\
arch condition conformance id lang os remap role revision revisionflag security \
userlevel vendor xreflabel \
status label endterm linkend space width

keywordclass.docbook=\
$(docbook.elements42) $(docbook.attributes)

keywords.$(file.patterns.docbook)=$(keywordclass.docbook)
keywords6.$(file.patterns.docbook)=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION
# END DocBook

word.characters.$(file.patterns.html)=$(chars.alpha)$(chars.numeric)_-
comment.stream.start.hypertext=<!--
comment.stream.end.hypertext=-->
comment.block.hypertext=//~

# No keyword for xml, as it accepts any keyword
keywords.$(file.patterns.xml)=
# SGML / DTD keywords
keywords6.$(file.patterns.xml)=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION

word.characters.$(file.patterns.xml)=$(chars.alpha)$(chars.numeric)_-

keywords.$(file.patterns.vxml)=$(keywordclass.vxml)
keywords2.$(file.patterns.vxml)=$(keywordclass.javascript)



word.characters.$(file.patterns.vxml)=$(chars.alpha)$(chars.numeric)_-

# HTML and XML share lexing code so use the same style numbers
# Hypertext Markup Language

# Text
style.hypertext.0=fore:#000000,$(font.text)
# Tags
style.hypertext.1=fore:#000080
# Unknown Tags
style.hypertext.2=fore:#FF0000
# Attributes
style.hypertext.3=fore:#008080
# Unknown Attributes
style.hypertext.4=fore:#FF0000
# Numbers
style.hypertext.5=$(colour.number)
# Double quoted strings
style.hypertext.6=$(colour.string)
# Single quoted strings
style.hypertext.7=$(colour.string)
# Other inside tag
style.hypertext.8=fore:#800080
# Comment
style.hypertext.9=fore:#808000,$(font.text.comment)
# Entities
style.hypertext.10=fore:#800080,$(font.text)
# XML style tag ends '/>'
style.hypertext.11=fore:#000080
# XML identifier start '<?'
style.hypertext.12=fore:#0000FF
# XML identifier end '?>'
style.hypertext.13=fore:#0000FF
#  SCRIPT
style.hypertext.14=fore:#000080
# ASP <% ... %>
style.hypertext.15=back:#FFFF00
# ASP <% ... %>
style.hypertext.16=back:#FFDF00
# CDATA
style.hypertext.17=back:#FFDF00
# PHP
style.hypertext.18=fore:#0000FF,back:#FFEFBF,bold
# Unquoted values
style.hypertext.19=fore:#FF00FF,back:#FFEFFF
# JSP Comment <%-- ... --%>
style.hypertext.20=fore:#000000,back:#FFFFD0
# SGML tags <! ... >
style.hypertext.21=fore:#000080,back:#EFEFFF
# SGML command
style.hypertext.22=fore:#000080,back:#EFEFFF,bold
# SGML 1st param
style.hypertext.23=fore:#006600,back:#EFEFFF
# SGML double string
style.hypertext.24=fore:#800000,back:#EFEFFF
# SGML single string
style.hypertext.25=fore:#993300,back:#EFEFFF
# SGML error
style.hypertext.26=fore:#800000,back:#FF6666
# SGML special (#xxxx type)
style.hypertext.27=fore:#3366FF,back:#EFEFFF
# SGML entity
style.hypertext.28=fore:#333333,back:#EFEFFF
# SGML comment
style.hypertext.29=fore:#808000,back:#EFEFFF
# SGML block
style.hypertext.31=fore:#000066,back:#CCCCE0
# Some reasonable background colours found in the default Windows palette
# Off White #FFFBF0    Light green #C0DCC0    Light Blue #A6CAF0
# Matched Operators
style.hypertext.34=fore:#0000FF,bold,$(font.text)
style.hypertext.35=fore:#FF0000,bold,$(font.text)

# Embedded Javascript
fontcolour.js=$(colour.embedded.js),$(font.js)
# JS Start - allows eol filled background to not start on same line as SCRIPT tag
style.hypertext.40=fore:#7F7F00
# JS Default
style.hypertext.41=fore:#000000,bold,$(fontcolour.js),eolfilled
# JS Comment
style.hypertext.42=$(colour.code.comment.box),$(fontcolour.js),eolfilled
# JS Line Comment
style.hypertext.43=$(colour.code.comment.line),$(fontcolour.js)
# JS Doc comment
style.hypertext.44=$(colour.code.comment.doc),bold,$(fontcolour.js),eolfilled
# JS Number
style.hypertext.45=$(colour.number),$(fontcolour.js)
# JS Word
style.hypertext.46=fore:#000000,$(fontcolour.js)
# JS Keyword
style.hypertext.47=$(colour.keyword),bold,$(fontcolour.js)
# JS Double quoted string
style.hypertext.48=$(colour.string),$(fontcolour.js)
# JS Single quoted string
style.hypertext.49=$(colour.string),$(fontcolour.js)
# JS Symbols
style.hypertext.50=$(colour.operator),bold,$(fontcolour.js)
# JavaScript EOL
style.hypertext.51=back:#BFBBB0,eolfilled
# JavaScript RegEx
style.hypertext.52=back:#FFBBB0

# ASP Javascript
# JS Start - allows eol filled background to not start on same line as SCRIPT tag
style.hypertext.55=fore:#7F7F00
# JS Default
style.hypertext.56=fore:#000000,bold,$(font.js),back:#DFDF7F,eolfilled
# JS Comment
style.hypertext.57=fore:#007F00,$(font.js),back:#DFDF7F,eolfilled
# JS Line Comment
style.hypertext.58=fore:#007F00,$(font.js),back:#DFDF7F
# JS Doc comment
style.hypertext.59=fore:#7F7F7F,bold,$(font.js),back:#DFDF7F,eolfilled
# JS Number
style.hypertext.60=fore:#007F7F,$(font.js),back:#DFDF7F
# JS Word
style.hypertext.61=fore:#000000,$(font.js),back:#DFDF7F
# JS Keyword
style.hypertext.62=fore:#00007F,bold,$(font.js),back:#DFDF7F
# JS Double quoted string
style.hypertext.63=fore:#7F007F,$(font.js),back:#DFDF7F
# JS Single quoted string
style.hypertext.64=fore:#7F007F,$(font.js),back:#DFDF7F
# JS Symbols
style.hypertext.65=fore:#000000,bold,$(font.js),back:#DFDF7F
# JavaScript EOL
style.hypertext.66=back:#BFBBB0,eolfilled
# JavaScript RegEx
style.hypertext.67=back:#FFBBB0

# Embedded VBS
# Start
style.hypertext.70=
# Default
style.hypertext.71=$(font.vbs),back:#EFEFFF,fore:#000000,eolfilled
# Comment
style.hypertext.72=$(font.comment),back:#EFEFFF,fore:#008000,eolfilled
# Number
style.hypertext.73=$(font.vbs),back:#EFEFFF,fore:#008080,eolfilled
# KeyWord
style.hypertext.74=$(font.vbs),back:#EFEFFF,fore:#000080,bold,eolfilled
# String
style.hypertext.75=$(font.vbs),back:#EFEFFF,fore:#800080,eolfilled
# Identifier
style.hypertext.76=$(font.vbs),back:#EFEFFF,fore:#000080,eolfilled
# Unterminated string
style.hypertext.77=$(font.vbs),back:#7F7FFF,fore:#000080,eolfilled

# ASP VBS
# Start
style.hypertext.80=
# Default
style.hypertext.81=$(font.vbs),back:#CFCFEF,fore:#000000,eolfilled
# Comment
style.hypertext.82=$(font.comment),back:#CFCFEF,fore:#008000,eolfilled
# Number
style.hypertext.83=$(font.vbs),back:#CFCFEF,fore:#008080,eolfilled
# KeyWord
style.hypertext.84=$(font.vbs),back:#CFCFEF,fore:#000080,bold,eolfilled
# String
style.hypertext.85=$(font.vbs),back:#CFCFEF,fore:#800080,eolfilled
# Identifier
style.hypertext.86=$(font.vbs),back:#CFCFEF,fore:#000080,eolfilled
# Unterminated string
style.hypertext.87=$(font.vbs),back:#7F7FBF,fore:#000080,eolfilled

# Embedded Python
style.hypertext.90=fore:#808080
style.hypertext.91=fore:#808080,back:#EFFFEF,eolfilled
# Comment
style.hypertext.92=fore:#007F00,$(font.comment),back:#EFFFEF,eolfilled
# Number
style.hypertext.93=fore:#007F7F,back:#EFFFEF,eolfilled
# String
style.hypertext.94=fore:#7F007F,$(font.monospace),back:#EFFFEF,eolfilled
# Single quoted string
style.hypertext.95=fore:#7F007F,$(font.monospace),back:#EFFFEF,eolfilled
# Keyword
style.hypertext.96=fore:#00007F,bold,back:#EFFFEF,eolfilled
# Triple quotes
style.hypertext.97=fore:#7F0000,back:#EFFFEF,eolfilled
# Triple double quotes
style.hypertext.98=fore:#7F0000,back:#EFFFEF,eolfilled
# Class name definition
style.hypertext.99=fore:#0000FF,bold,back:#EFFFEF,eolfilled
# Function or method name definition
style.hypertext.100=fore:#007F7F,bold,back:#EFFFEF,eolfilled
# Operators
style.hypertext.101=bold,back:#EFFFEF,eolfilled
# Identifiers
style.hypertext.102=back:#EFFFEF,eolfilled

# PHP complex variable
style.hypertext.104=fore:#00007F,italics,back:#FFF8F8

# ASP Python
style.hypertext.105=fore:#808080
style.hypertext.106=fore:#808080,back:#CFEFCF,eolfilled
# Comment
style.hypertext.107=fore:#007F00,$(font.comment),back:#CFEFCF,eolfilled
# Number
style.hypertext.108=fore:#007F7F,back:#CFEFCF,eolfilled
# String
style.hypertext.109=fore:#7F007F,$(font.monospace),back:#CFEFCF,eolfilled
# Single quoted string
style.hypertext.110=fore:#7F007F,$(font.monospace),back:#CFEFCF,eolfilled
# Keyword
style.hypertext.111=fore:#00007F,bold,back:#CFEFCF,eolfilled
# Triple quotes
style.hypertext.112=fore:#7F0000,back:#CFEFCF,eolfilled
# Triple double quotes
style.hypertext.113=fore:#7F0000,back:#CFEFCF,eolfilled
# Class name definition
style.hypertext.114=fore:#0000FF,bold,back:#CFEFCF,eolfilled
# Function or method name definition
style.hypertext.115=fore:#007F7F,bold,back:#CFEFCF,eolfilled
# Operators
style.hypertext.116=bold,back:#CFEFCF,eolfilled
# Identifiers
style.hypertext.117=back:#CFEFCF,eolfilled

# PHP
# Default
style.hypertext.118=fore:#000033,back:#FFFFFF,eolfilled
# Double quoted String
style.hypertext.119=fore:#0000FF,$(font.monospace)
# Single quoted string
style.hypertext.120=fore:#0000FF,back:#F9F9F9,$(font.monospace)
# Keyword
style.hypertext.121=$(colour.keyword),bold
# Number
style.hypertext.122=$(colour.number)
# Variable
style.hypertext.123=fore:#00007F,back:#FFF8F8
# Comment
style.hypertext.124=$(colour.code.comment.box),$(font.code.comment.box)
# One line comment
style.hypertext.125=$(colour.code.comment.box),$(font.code.comment.box)
# PHP variable in double quoted string
style.hypertext.126=fore:#00007F,back:#FFF8F8
# PHP operator
style.hypertext.127=fore:#000000,back:#FFFFFF,bold

# XML: eXtensible Markup Language
# For XML, there is no list of known tags or attributes so all are coloured known

# Default
style.xml.0=fore:#000000,$(font.text)
# Tags
style.xml.1=fore:#000080
# Unknown Tags
style.xml.2=fore:#000080
# Attributes
style.xml.3=fore:#008080
# Unknown Attributes
style.xml.4=fore:#008080
# Numbers
style.xml.5=$(colour.number)
# Double quoted strings
style.xml.6=$(colour.string)
# Single quoted strings
style.xml.7=$(colour.string)
# Other inside tag
style.xml.8=fore:#800080
# Comment
style.xml.9=fore:#808000
# Entities
style.xml.10=fore:#800080,$(font.text)
# XML style tag ends '/>'
style.xml.11=fore:#000080
# XML identifier start '<?'
style.xml.12=fore:#800080,bold
# XML identifier end '?>'
style.xml.13=fore:#800080,bold
# CDATA
style.xml.17=fore:#800000,back:#FFF0F0,$(font.text),eolfilled
# Question
style.xml.18=fore:#800000
# Unquoted Value
style.xml.19=fore:#608060
# SGML tags <! ... >
style.xml.21=fore:#000080,back:#EFEFFF
# SGML command
style.xml.22=fore:#000080,back:#EFEFFF,bold
# SGML 1st param
style.xml.23=fore:#006600,back:#EFEFFF
# SGML double string
style.xml.24=fore:#800000,back:#EFEFFF
# SGML single string
style.xml.25=fore:#993300,back:#EFEFFF
# SGML error
style.xml.26=fore:#800000,back:#FF6666
# SGML special (#xxxx type)
style.xml.27=fore:#3366FF,back:#EFEFFF
# SGML entity
style.xml.28=fore:#333333,back:#EFEFFF
# SGML comment
style.xml.29=fore:#808000,back:#EFEFFF
# SGML block
style.xml.31=fore:#000066,back:#CCCCE0
# No brace matching in XML
braces.xml.style=31

if PLAT_WIN
	command.go.$(file.patterns.web)="file://$(FilePath)"
	command.go.subsystem.$(file.patterns.web)=2
	command.go.$(file.patterns.php)=I:\PHP5\php.exe -q $(FileNameExt)
	command.build.$(file.patterns.php)=I:\PHP5\php.exe -l $(FileNameExt)
if PLAT_GTK
	command.go.$(file.patterns.web)=netscape "file://$(FilePath)"

command.go.$(file.patterns.php)=php -f "$(FileNameExt)"
command.compile.$(file.patterns.php)=php -l "$(FileNameExt)"
Nur, was nun? Wie binde ich sie ein(Falls das überhaupt geht)?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Passe erst den Lexer an , zb so :

Code: Alles auswählen

ScintillaSendMessage(Gadget,#SCI_SETLEXER,#SCLEX_HTML)
dann fuege die ensprechenden Schluesselwoerter hinzu.
IntelliSense gibt es nicht, das haben nur MS Produkte.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>ScintillaSendMessage(Gadget,#SCI_SETLEXER,#SCLEX_HTML)

Habe ich ja, ich habe dein Beispiel benutzt.
Nur werden da die Befehle zwischen <? und ?> farbig dargestellt. Die Comments "//" funktionieren auch nicht.
Beim SciTE Editor z.B waren <? und ?> Klappen, comments wurden richtig dargestellt und PHP Befehle wurden erkannt und angezeigt(Auch Autocomplete).
Ich denke das macht er über diese properties-Dateien. Nur wie bindet man die ein?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Die kannste nicht einbinden, die geben nur Infos. Ansonsten mußte sehen
welche Konstanten für die Sprache vorhanden sind und was man damit
macht. Also Scintilla Doku lesen und probieren. Hab noch nie nen
HTML-artigen Lexer benutzt (mag das html-zeugs nicht)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Sicher? Wenn ich z.b die Cpp-properties Datei entferne gibts kein Syntax Highlighting mehr.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

X0r hat geschrieben:Sicher? Wenn ich z.b die Cpp-properties Datei entferne gibts kein Syntax Highlighting mehr.
Die config Dateien sind nur für Scite.exe nützlich, Du kannst dort nur Infos
erhaschen (oder auch nicht)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Achsoo.

Edit:
Gut, hab ein anderes Problem:

Code: Alles auswählen

;################################################################## 
;#                                                                  
;#                                                                  
;#                                                                  
;################################################################## 
Procedure SetStyle(id,style,fore,back,bold=-1,italic=-1,size=0,font.s="") 
    
  ScintillaSendMessage(id,#SCI_STYLESETFORE, style, fore) 
  ScintillaSendMessage(id,#SCI_STYLESETBACK, style, back) 
  
  If italic > -1 
    ScintillaSendMessage(id,#SCI_STYLESETITALIC, style, italic) 
  EndIf 
  
  If bold > -1 
    ScintillaSendMessage(id,#SCI_STYLESETBOLD, style, bold) 
  EndIf 
  
  If size > 0 
    ScintillaSendMessage(id,#SCI_STYLESETSIZE, style, size) 
  EndIf 
  
  If font 
    ScintillaSendMessage(id,#SCI_STYLESETFONT, style, @font) 
  EndIf 
    
EndProcedure 

;################################################################## 
;#                                                                  
;#                                                                  
;#                                                                  
;################################################################## 
ProcedureDLL ScintillaCallBack(Gadget, *scinotify.SCNotification) 
  
  Protected line = ScintillaSendMessage(Gadget,#SCI_LINEFROMPOSITION,*scinotify\position) 
  
  If *scinotify\margin = 1 
    ScintillaSendMessage(Gadget,#SCI_TOGGLEFOLD, line, 0) 
  EndIf 
  
  
EndProcedure 

;################################################################## 
;#                                                                  
;#                                                                  
;#                                                                  
;################################################################## 
Procedure NewSciGadget(id,x,y,cx,cy,cb=0) 
  Protected Gadget , keyword.s 
  Static Init 
  
  If Not Init 
    InitScintilla("scilexer") 
  EndIf 
  
  Gadget = ScintillaGadget(id,x,y,cx,cy,cb) 
  
  If id <> #PB_Any 
    Gadget = id 
  EndIf 
  
  ; lexer default 
  ScintillaSendMessage(Gadget,#SCI_SETLEXER,#SCLEX_PHP) 
  ScintillaSendMessage(Gadget,#SCI_SETSTYLEBITS, 5) 
  
  SetStyle(Gadget,#STYLE_DEFAULT, #Black, #White,#PB_Default,#PB_Default,10, "courier new") 
   ScintillaSendMessage(Gadget,#SCI_STYLECLEARALL) 
  
  
  ; keywords 
  
  keyword = "date addressof alias and as attribute base begin binary boolean byref byte byval call case compare " 
  keyword + "const currency date decimal declare defbool defbyte defint deflng defcur defsng defdbl defdec " 
  keyword + "defdate defstr defobj defvar dim do double each else elseif empty end enum eqv erase error " 
  keyword + "event exit explicit false for friend function get gosub goto if imp implements in input integer " 
  keyword + "is len let lib like load lock long loop lset me mid midb mod new next not nothing null object " 
  keyword + "on option optional or paramarray preserve print private property public raiseevent randomize " 
  keyword + "redim rem resume return rset seek select set single static step stop string sub then time to " 
  keyword + "true type typeof unload until variant wend while with withevents xor" 
  
  
  ScintillaSendMessage(Gadget,#SCI_SETKEYWORDS,0,@keyword) 
  SetStyle(Gadget,#SCE_B_KEYWORD  , #Green   , #White,#True)  
  
  ScintillaSendMessage(Gadget,#SCI_SETKEYWORDS,1,@"href") 
  SetStyle(Gadget,#SCE_B_KEYWORD2 , #Blue  , #White,#True)  
  

  SetStyle(Gadget,#SCE_B_NUMBER   , #Red    , #White)  
  SetStyle(Gadget,#SCE_B_COMMENT  , $C0C0C0  , #White) 
  
  
  
  ;line number 
  ScintillaSendMessage(Gadget,#SCI_SETMARGINWIDTHN, 0, 30) 
  
  ; folding 
  ScintillaSendMessage(Gadget,#SCI_SETPROPERTY, @"fold", @"1") 
    
  ScintillaSendMessage(Gadget,#SCI_SETMARGINTYPEN,  1, #SC_MARGIN_SYMBOL) 
  ScintillaSendMessage(Gadget,#SCI_SETMARGINMASKN,  1, #SC_MASK_FOLDERS) 
  ScintillaSendMessage(Gadget,#SCI_SETMARGINWIDTHN, 1, 20) 
  
  ScintillaSendMessage(Gadget,#SCI_SETMARGINSENSITIVEN, 1, 1) 
  
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDEROPEN     , #SC_MARK_MINUS) 
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDER         , #SC_MARK_PLUS) 
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDERSUB      , #SC_MARK_EMPTY) 
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDERTAIL     , #SC_MARK_EMPTY) 
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDEREND      , #SC_MARK_EMPTY) 
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDEROPENMID  , #SC_MARK_EMPTY) 
  ScintillaSendMessage(Gadget,#SCI_MARKERDEFINE, #SC_MARKNUM_FOLDERMIDTAIL  , #SC_MARK_EMPTY) 
  
EndProcedure 

;################################################################## 
;#                                                                  
;#                                                                  
;#                                                                  
;################################################################## 
Procedure main() 
  Protected hWnd 
  
  hWnd = OpenWindow(0,#PB_Ignore,#PB_Ignore,640,480,"leer",#WS_OVERLAPPEDWINDOW) 
  SmartWindowRefresh(0,1) 
  CreateGadgetList(hWnd) 
  
  NewSciGadget(0,0,0,640,480,@ScintillaCallBack()) 
  
  text.s = "Function test()"        + #LF$ 
  text.s + "  ' blub"               + #LF$ 
  text.s + "  Dim blub as Integer " + #LF$ 
  text.s + "End Function "          + #LF$ 
  
  SetGadgetText(0,text+#LF$+text) 
  
  
  Repeat 
    event = WaitWindowEvent() 
    
    If event = #PB_Event_SizeWindow 
      ResizeGadget(0,#PB_Ignore,#PB_Ignore,WindowWidth(0),WindowHeight(0)) 
    EndIf 
    
  Until event = #PB_Event_CloseWindow 
    
    
EndProcedure

main()
Warum wird "href" nicht farbig dargestellt?


Wenn man nun statt "#SCLEX_PHP" "#SCLEX_HTML" nimmt wird nichts farbig dargestellt und zwischen <?php und ?> siehts nochmal ganz schlimm aus.
Auch im Code::Blocks Board hat sich einer mit dem selben Problem gemeldet und dort konnte das Problem auch nicht gelöst werden. Frage mich nur, wie das Neil in seinem SciTE macht.

Edit:
Kann man denn irgendwie mehrere Lexer gleichzeitig setzen? Dann könnte ich HTML + C++ nehmen. Bei C++ gibts nämlich Folding({,},..).

Und was hat dieses ScintillaSendMessage(Gadget,#SCI_SETPROPERTY,@"fold",@"1") zu bedeuten?
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

Woher bekommt man die DLL, die man braucht (v1.74)?
Bei SciTE ist die irgendwie nicht dabei. :freak:
BildBildBildBild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Im Compilers-Verzeichnis von PB, die SciLexer.dll ist beim WScite download
auf www.scintilla.org dabei.

http://prdownloads.sourceforge.net/scin ... p?download
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten