diff --git a/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h b/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h
index db1792bd8..c5e5a2dd6 100644
--- a/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h
+++ b/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h
@@ -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};
diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp
index 9c417913e..55c560ae3 100644
--- a/PowerEditor/src/Notepad_plus.cpp
+++ b/PowerEditor/src/Notepad_plus.cpp
@@ -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: {
diff --git a/PowerEditor/src/Notepad_plus.rc b/PowerEditor/src/Notepad_plus.rc
index a6a81f04c..bdd2611f0 100644
--- a/PowerEditor/src/Notepad_plus.rc
+++ b/PowerEditor/src/Notepad_plus.rc
@@ -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
diff --git a/PowerEditor/src/NppCommands.cpp b/PowerEditor/src/NppCommands.cpp
index 3af525985..719e69fe8 100644
--- a/PowerEditor/src/NppCommands.cpp
+++ b/PowerEditor/src/NppCommands.cpp
@@ -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));
diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp
index d5c549832..ff2ae0eea 100644
--- a/PowerEditor/src/Parameters.cpp
+++ b/PowerEditor/src/Parameters.cpp
@@ -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;
diff --git a/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp b/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp
index 21ba51ae4..b6bd3b5d5 100644
--- a/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp
+++ b/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp
@@ -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)
diff --git a/PowerEditor/src/ScitillaComponent/ScintillaEditView.h b/PowerEditor/src/ScitillaComponent/ScintillaEditView.h
index c43441eb4..b397acaaf 100644
--- a/PowerEditor/src/ScitillaComponent/ScintillaEditView.h
+++ b/PowerEditor/src/ScitillaComponent/ScintillaEditView.h
@@ -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() {
diff --git a/PowerEditor/src/langs.model.xml b/PowerEditor/src/langs.model.xml
index eec004406..d8d5a9f72 100644
--- a/PowerEditor/src/langs.model.xml
+++ b/PowerEditor/src/langs.model.xml
@@ -371,6 +371,12 @@
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
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
+
+ goal namespace interface class implement open inherits supports resolve delegate monitor constants domains predicates constructors properties clauses facts
+ 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
+ include bininclude requires orrequires if then else elseif endif error message export externally options
+ short detail end exception withdomain
+
diff --git a/PowerEditor/src/menuCmdID.h b/PowerEditor/src/menuCmdID.h
index 44e5327be..58b24173a 100644
--- a/PowerEditor/src/menuCmdID.h
+++ b/PowerEditor/src/menuCmdID.h
@@ -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)
diff --git a/PowerEditor/src/stylers.model.xml b/PowerEditor/src/stylers.model.xml
index e7a75f3a3..931721bbd 100644
--- a/PowerEditor/src/stylers.model.xml
+++ b/PowerEditor/src/stylers.model.xml
@@ -1241,6 +1241,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+