Add Visual Prolog language support

Closes #1439
pull/3649/merge
Thomas Linder Puls 2016-02-02 22:43:06 +01:00 committed by Don HO
parent 440577f647
commit 854acae4a1
10 changed files with 50 additions and 2 deletions

View File

@ -44,7 +44,7 @@ enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
L_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \
L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \
L_MMIXAL, L_NIMROD, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \
L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, \
L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG,\
// Don't use L_JS, use L_JAVASCRIPT instead
// The end of enumated language type, so it should be always at the end
L_EXTERNAL};

View File

@ -2894,7 +2894,8 @@ LangType Notepad_plus::menuID2LangType(int cmdID)
return L_SPICE;
case IDM_LANG_TXT2TAGS :
return L_TXT2TAGS;
case IDM_LANG_VISUALPROLOG:
return L_VISUALPROLOG;
case IDM_LANG_USER :
return L_USER;
default: {

View File

@ -750,6 +750,7 @@ BEGIN
MENUITEM "Verilog", IDM_LANG_VERILOG
MENUITEM "VHDL", IDM_LANG_VHDL
MENUITEM "Visual Basic", IDM_LANG_VB
MENUITEM "Visual Prolog", IDM_LANG_VISUALPROLOG
MENUITEM "XML", IDM_LANG_XML
MENUITEM "YAML", IDM_LANG_YAML
MENUITEM SEPARATOR
@ -889,6 +890,7 @@ BEGIN
POPUP "V"
BEGIN
MENUITEM "Visual Basic", IDM_LANG_VB
MENUITEM "Visual Prolog", IDM_LANG_VISUALPROLOG
MENUITEM "VHDL", IDM_LANG_VHDL
MENUITEM "Verilog", IDM_LANG_VERILOG
END

View File

@ -2832,6 +2832,7 @@ void Notepad_plus::command(int id)
case IDM_LANG_RUST :
case IDM_LANG_SPICE :
case IDM_LANG_TXT2TAGS :
case IDM_LANG_VISUALPROLOG:
case IDM_LANG_USER :
{
setLanguage(menuID2LangType(id));

View File

@ -6096,6 +6096,9 @@ int NppParameters::langTypeToCommandID(LangType lt) const
case L_TXT2TAGS :
id = IDM_LANG_TXT2TAGS; break;
case L_VISUALPROLOG:
id = IDM_LANG_VISUALPROLOG; break;
case L_SEARCHRESULT :
id = -1; break;

View File

@ -165,6 +165,7 @@ LanguageName ScintillaEditView::langNames[L_EXTERNAL+1] = {
{TEXT("rust"), TEXT("Rust"), TEXT("Rust file"), L_RUST, SCLEX_RUST},
{TEXT("spice"), TEXT("Spice"), TEXT("spice file"), L_SPICE, SCLEX_SPICE},
{TEXT("txt2tags"), TEXT("txt2tags"), TEXT("txt2tags file"), L_TXT2TAGS, SCLEX_TXT2TAGS},
{TEXT("visualprolog"), TEXT("Visual Prolog"), TEXT("Visual Prolog file"), L_VISUALPROLOG, SCLEX_VISUALPROLOG},
{TEXT("ext"), TEXT("External"), TEXT("External"), L_EXTERNAL, SCLEX_NULL}
};
@ -1684,6 +1685,9 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
case L_TXT2TAGS :
setTxt2tagsLexer(); break;
case L_VISUALPROLOG:
setVisualPrologLexer(); break;
case L_TEXT :
default :
if (typeDoc >= L_EXTERNAL && typeDoc < _pParameter->L_END)

View File

@ -979,6 +979,10 @@ protected:
setLexer(SCLEX_TXT2TAGS, L_TXT2TAGS, LIST_NONE);
};
void setVisualPrologLexer() {
setLexer(SCLEX_VISUALPROLOG, L_VISUALPROLOG, LIST_0 | LIST_1 | LIST_2 | LIST_3);
}
//--------------------
void setSearchResultLexer() {

View File

@ -371,6 +371,12 @@
<Keywords name="type3">std ieee work standard textio std_logic_1164 std_logic_arith std_logic_misc std_logic_signed std_logic_textio std_logic_unsigned numeric_bit numeric_std math_complex math_real vital_primitives vital_timing</Keywords>
<Keywords name="type4">boolean bit character severity_level integer real time delay_length natural positive string bit_vector file_open_kind file_open_status line text side width std_ulogic std_ulogic_vector std_logic std_logic_vector X01 X01Z UX01 UX01Z unsigned signed</Keywords>
</Language>
<Language name="visualprolog" ext="pro cl i pack ph" commentLine="%" commentStart="/*" commentEnd="*/">
<Keywords name="instre1">goal namespace interface class implement open inherits supports resolve delegate monitor constants domains predicates constructors properties clauses facts</Keywords>
<Keywords name="instre2">guard language stdcall apicall c thiscall prolog digits if then elseif else foreach do try catch finally erroneous failure procedure determ multi nondeterm anyflow and or externally from div mod rem quot in orelse otherwise</Keywords>
<Keywords name="type1">include bininclude requires orrequires if then else elseif endif error message export externally options</Keywords>
<Keywords name="type2">short detail end exception withdomain</Keywords>
</Language>
<Language name="xml" ext="xml xaml xsl xslt xsd xul kml svg mxml xsml wsdl xlf xliff xbl sxbl sitemap gml gpx plist" commentLine="" commentStart="&lt;!--" commentEnd="--&gt;">
</Language>
<Language name="yaml" ext="yml yaml" commentLine="#" tabSettings="132">

View File

@ -509,6 +509,7 @@
#define IDM_LANG_RUST (IDM_LANG + 80)
#define IDM_LANG_SPICE (IDM_LANG + 81)
#define IDM_LANG_TXT2TAGS (IDM_LANG + 82)
#define IDM_LANG_VISUALPROLOG (IDM_LANG + 83)
#define IDM_LANG_EXTERNAL (IDM_LANG + 165)
#define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 179)
@ -517,6 +518,7 @@
#define IDM_LANG_USER_LIMIT (IDM_LANG + 210) //46210: Ajust with IDM_LANG_USER
#define IDM_LANG_USER_DLG (IDM_LANG + 250) //46250: Used for translation
#define IDM_ABOUT (IDM + 7000)

View File

@ -1241,6 +1241,31 @@
<WordsStyle name="OPERATOR" styleID="6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DATE" styleID="8" fgColor="00FF00" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="visualprolog" desc="Visual Prolog" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="MAJOR" styleID="1" fgColor="808000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre1" />
<WordsStyle name="MINOR" styleID="2" fgColor="333399" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
<WordsStyle name="DIRECTIVE" styleID="3" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="COMMENT BLOCK" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT LINE" styleID="5" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT KEY" styleID="6" fgColor="8050A0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
<WordsStyle name="COMMENT KEY ERROR" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="VARIABLE" styleID="9" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="ANONYMOUS" styleID="10" fgColor="A0A0C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="11" fgColor="0000C0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="12" fgColor="A00000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="13" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER TOO MANY" styleID="14" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER ESCAPE ERROR" styleID="15" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="16" fgColor="3898B2" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING ESCAPE" styleID="17" fgColor="FF8040" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING ESCAPE ERROR" styleID="18" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING EOL OPEN" styleID="19" fgColor="FFFFFF" bgColor="FF4040" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING VERBATIM" styleID="20" fgColor="8064A2" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING VERBATIM SPECIAL" styleID="21" fgColor="800040" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING VERBATIM EOL" styleID="22" fgColor="FFFFFF" bgColor="FF8000" fontName="" fontStyle="0" fontSize="" />
</LexerType>
<LexerType name="verilog" desc="Verilog" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />