Skip to content

Commit

Permalink
Added SCI_GETLEXERLANGUAGE; Scintilla files affected: include/Scintil…
Browse files Browse the repository at this point in the history
…la.h, include/SciLexer.h, include/Scintilla.iface, src/LexLPeg.cxx, src/ScintillaBase.cxx; SciTE files affected: src/IFaceTable.cxx

git-svn-id: http://scite-tools.googlecode.com/svn@33 b6d8bf09-a419-0410-8828-31a925e9f9d7
  • Loading branch information
mforal committed May 16, 2007
1 parent 836a655 commit 134ae55
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 220 deletions.
216 changes: 1 addition & 215 deletions src/scintilla-st/include/SciLexer.h
Expand Up @@ -14,223 +14,9 @@
// SciLexer features - not in standard Scintilla

// modified by Mitchell
#ifndef USELPEGLEX
//++Autogenerated -- start of section automatically generated from Scintilla.iface
#define SCLEX_CONTAINER 0
#define SCLEX_NULL 1
#define SCLEX_PYTHON 2
#define SCLEX_CPP 3
#define SCLEX_HTML 4
#define SCLEX_XML 5
#define SCLEX_PERL 6
#define SCLEX_SQL 7
#define SCLEX_VB 8
#define SCLEX_PROPERTIES 9
#define SCLEX_ERRORLIST 10
#define SCLEX_MAKEFILE 11
#define SCLEX_BATCH 12
#define SCLEX_XCODE 13
#define SCLEX_LATEX 14
#define SCLEX_LUA 15
#define SCLEX_DIFF 16
#define SCLEX_CONF 17
#define SCLEX_PASCAL 18
#define SCLEX_AVE 19
#define SCLEX_ADA 20
#define SCLEX_LISP 21
#define SCLEX_RUBY 22
#define SCLEX_EIFFEL 23
#define SCLEX_EIFFELKW 24
#define SCLEX_TCL 25
#define SCLEX_NNCRONTAB 26
#define SCLEX_BULLANT 27
#define SCLEX_VBSCRIPT 28
#define SCLEX_ASP 29
#define SCLEX_PHP 30
#define SCLEX_BAAN 31
#define SCLEX_MATLAB 32
#define SCLEX_SCRIPTOL 33
#define SCLEX_ASM 34
#define SCLEX_CPPNOCASE 35
#define SCLEX_FORTRAN 36
#define SCLEX_F77 37
#define SCLEX_CSS 38
#define SCLEX_POV 39
#define SCLEX_LOUT 40
#define SCLEX_ESCRIPT 41
#define SCLEX_PS 42
#define SCLEX_NSIS 43
#define SCLEX_MMIXAL 44
#define SCLEX_CLW 45
#define SCLEX_CLWNOCASE 46
#define SCLEX_LOT 47
#define SCLEX_YAML 48
#define SCLEX_TEX 49
#define SCLEX_METAPOST 50
#define SCLEX_POWERBASIC 51
#define SCLEX_FORTH 52
#define SCLEX_ERLANG 53
#define SCLEX_OCTAVE 54
#define SCLEX_MSSQL 55
#define SCLEX_VERILOG 56
#define SCLEX_KIX 57
#define SCLEX_GUI4CLI 58
#define SCLEX_SPECMAN 59
#define SCLEX_AU3 60
#define SCLEX_APDL 61
#define SCLEX_BASH 62
#define SCLEX_ASN1 63
#define SCLEX_VHDL 64
#define SCLEX_CAML 65
#define SCLEX_BLITZBASIC 66
#define SCLEX_PUREBASIC 67
#define SCLEX_HASKELL 68
#define SCLEX_PHPSCRIPT 69
#define SCLEX_TADS3 70
#define SCLEX_REBOL 71
#define SCLEX_SMALLTALK 72
#define SCLEX_FLAGSHIP 73
#define SCLEX_CSOUND 74
#define SCLEX_FREEBASIC 75
#define SCLEX_INNOSETUP 76
#define SCLEX_OPAL 77
#define SCLEX_SPICE 78
#define SCLEX_D 79
#define SCLEX_CMAKE 80
#define SCLEX_LPEG 99
#define SCLEX_AUTOMATIC 1000
#define SCE_LPEG_0 0
#define SCE_LPEG_1 1
#define SCE_LPEG_2 2
#define SCE_LPEG_3 3
#define SCE_LPEG_4 4
#define SCE_LPEG_5 5
#define SCE_LPEG_6 6
#define SCE_LPEG_7 7
#define SCE_LPEG_8 8
#define SCE_LPEG_9 9
#define SCE_LPEG_10 10
#define SCE_LPEG_11 11
#define SCE_LPEG_12 12
#define SCE_LPEG_13 13
#define SCE_LPEG_14 14
#define SCE_LPEG_15 15
#define SCE_LPEG_16 16
#define SCE_LPEG_17 17
#define SCE_LPEG_18 18
#define SCE_LPEG_19 19
#define SCE_LPEG_20 20
#define SCE_LPEG_21 21
#define SCE_LPEG_22 22
#define SCE_LPEG_23 23
#define SCE_LPEG_24 24
#define SCE_LPEG_25 25
#define SCE_LPEG_26 26
#define SCE_LPEG_27 27
#define SCE_LPEG_28 28
#define SCE_LPEG_29 29
#define SCE_LPEG_30 30
#define SCE_LPEG_31 31
#define SCE_LPEG_32 32
#define SCE_LPEG_33 33
#define SCE_LPEG_34 34
#define SCE_LPEG_35 35
#define SCE_LPEG_36 36
#define SCE_LPEG_37 37
#define SCE_LPEG_38 38
#define SCE_LPEG_39 39
#define SCE_LPEG_40 40
#define SCE_LPEG_41 41
#define SCE_LPEG_42 42
#define SCE_LPEG_43 43
#define SCE_LPEG_44 44
#define SCE_LPEG_45 45
#define SCE_LPEG_46 46
#define SCE_LPEG_47 47
#define SCE_LPEG_48 48
#define SCE_LPEG_49 49
#define SCE_LPEG_50 50
#define SCE_LPEG_51 51
#define SCE_LPEG_52 52
#define SCE_LPEG_53 53
#define SCE_LPEG_54 54
#define SCE_LPEG_55 55
#define SCE_LPEG_56 56
#define SCE_LPEG_57 57
#define SCE_LPEG_58 58
#define SCE_LPEG_59 59
#define SCE_LPEG_60 60
#define SCE_LPEG_61 61
#define SCE_LPEG_62 62
#define SCE_LPEG_63 63
#define SCE_LPEG_64 64
#define SCE_LPEG_65 65
#define SCE_LPEG_66 66
#define SCE_LPEG_67 67
#define SCE_LPEG_68 68
#define SCE_LPEG_69 69
#define SCE_LPEG_70 70
#define SCE_LPEG_71 71
#define SCE_LPEG_72 72
#define SCE_LPEG_73 73
#define SCE_LPEG_74 74
#define SCE_LPEG_75 75
#define SCE_LPEG_76 76
#define SCE_LPEG_77 77
#define SCE_LPEG_78 78
#define SCE_LPEG_79 79
#define SCE_LPEG_80 80
#define SCE_LPEG_81 81
#define SCE_LPEG_82 82
#define SCE_LPEG_83 83
#define SCE_LPEG_84 84
#define SCE_LPEG_85 85
#define SCE_LPEG_86 86
#define SCE_LPEG_87 87
#define SCE_LPEG_88 88
#define SCE_LPEG_89 89
#define SCE_LPEG_90 90
#define SCE_LPEG_91 91
#define SCE_LPEG_92 92
#define SCE_LPEG_93 93
#define SCE_LPEG_94 94
#define SCE_LPEG_95 95
#define SCE_LPEG_96 96
#define SCE_LPEG_97 97
#define SCE_LPEG_98 98
#define SCE_LPEG_99 99
#define SCE_LPEG_100 100
#define SCE_LPEG_101 101
#define SCE_LPEG_102 102
#define SCE_LPEG_103 103
#define SCE_LPEG_104 104
#define SCE_LPEG_105 105
#define SCE_LPEG_106 106
#define SCE_LPEG_107 107
#define SCE_LPEG_108 108
#define SCE_LPEG_109 109
#define SCE_LPEG_110 110
#define SCE_LPEG_111 111
#define SCE_LPEG_112 112
#define SCE_LPEG_113 113
#define SCE_LPEG_114 114
#define SCE_LPEG_115 115
#define SCE_LPEG_116 116
#define SCE_LPEG_117 117
#define SCE_LPEG_118 118
#define SCE_LPEG_119 119
#define SCE_LPEG_120 120
#define SCE_LPEG_121 121
#define SCE_LPEG_122 122
#define SCE_LPEG_123 123
#define SCE_LPEG_124 124
#define SCE_LPEG_125 125
#define SCE_LPEG_126 126
#define SCE_LPEG_127 127
//--Autogenerated -- end of section automatically generated from Scintilla.iface
#else
#define SCLEX_CONTAINER 0
#define SCLEX_NULL 1
#define SCLEX_LPEG 2
#define SCLEX_AUTOMATIC 1000
#define SCE_LPEG_0 0
Expand Down Expand Up @@ -361,7 +147,7 @@
#define SCE_LPEG_125 125
#define SCE_LPEG_126 126
#define SCE_LPEG_127 127
#endif
//--Autogenerated -- end of section automatically generated from Scintilla.iface
// end modified by Mitchell

#endif
1 change: 1 addition & 0 deletions src/scintilla-st/include/Scintilla.h
Expand Up @@ -648,6 +648,7 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
#define KEYWORDSET_MAX 8
#define SCI_SETKEYWORDS 4005
#define SCI_SETLEXERLANGUAGE 4006
#define SCI_GETLEXERLANGUAGE 4012 // added by Mitchell
#define SCI_LOADLEXERLIBRARY 4007
#define SCI_GETPROPERTY 4008
#define SCI_GETPROPERTYEXPANDED 4009
Expand Down
5 changes: 5 additions & 0 deletions src/scintilla-st/include/Scintilla.iface
Expand Up @@ -1753,6 +1753,11 @@ set void SetKeyWords=4005(int keywordSet, string keyWords)
# Set the lexing language of the document based on string name.
set void SetLexerLanguage=4006(, string language)

# added by Mitchell
# Retrieve the lexing language string name of the document.
get int GetLexerLanguage=4012(, stringresult language)
# end added by Mitchell

# Load a lexer library (dll / so).
fun void LoadLexerLibrary=4007(, string path)

Expand Down
3 changes: 3 additions & 0 deletions src/scintilla-st/src/LexLPeg.cxx
Expand Up @@ -104,6 +104,9 @@ bool LoadLexerScript(lua_State *L, const char *languageName) {
return false;
}

lua_pushstring(L, languageName);
lua_setfield(L, LUA_REGISTRYINDEX, "languageName");

// load the lexer and style properties
lua_getglobal(L, "InitLexer");
if (lua_isfunction(L, -1)) {
Expand Down
19 changes: 19 additions & 0 deletions src/scintilla-st/src/ScintillaBase.cxx
Expand Up @@ -767,6 +767,25 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara
SetLexerLanguage(reinterpret_cast<const char *>(lParam));
break;

// added by Mitchell
case SCI_GETLEXERLANGUAGE: {
if (lParam != 0) {
char *ptr = reinterpret_cast<char *>(lParam);
const char *val;
if (luaState) {
lua_getfield(luaState, LUA_REGISTRYINDEX, "languageName");
val = lua_tostring(luaState, -1); lua_pop(luaState, 1);
} else {
val = lexLanguage == SCLEX_CONTAINER ? "container" : "null";
}
size_t n = strlen(val);
memcpy(ptr, val, n);
ptr[n] = '\0'; // terminate
return n;
}
}
// end added by Mitchell

case SCI_GETSTYLEBITSNEEDED:
return lexCurrent ? lexCurrent->GetStyleBitsNeeded() : 5;
#endif
Expand Down
10 changes: 5 additions & 5 deletions src/scite/src/IFaceTable.cxx
Expand Up @@ -1325,7 +1325,6 @@ static IFaceConstant ifaceConstants[] = {
{"SCI_SETKEYWORDS",4005},
{"SCI_SETLAYOUTCACHE",2272},
{"SCI_SETLEXER",4001},
{"SCI_SETLEXERLANGUAGE",4006},
{"SCI_SETLINEINDENTATION",2126},
{"SCI_SETLINESTATE",2092},
{"SCI_SETMARGINLEFT",2155},
Expand Down Expand Up @@ -1717,6 +1716,7 @@ static IFaceFunction ifaceFunctions[] = {
{"GetHotspotActiveBack", 2495, iface_colour, {iface_void, iface_void}},
{"GetHotspotActiveFore", 2494, iface_colour, {iface_void, iface_void}},
{"GetLastChild", 2224, iface_int, {iface_int, iface_int}},
{"GetLexerLanguage", 4012, iface_int, {iface_void, iface_stringresult}},
{"GetLine", 2153, iface_int, {iface_int, iface_stringresult}},
{"GetLineSelEndPosition", 2425, iface_position, {iface_int, iface_void}},
{"GetLineSelStartPosition", 2424, iface_position, {iface_int, iface_void}},
Expand Down Expand Up @@ -1821,6 +1821,7 @@ static IFaceFunction ifaceFunctions[] = {
{"SetHotspotActiveBack", 2411, iface_void, {iface_bool, iface_colour}},
{"SetHotspotActiveFore", 2410, iface_void, {iface_bool, iface_colour}},
{"SetLengthForEncode", 2448, iface_void, {iface_int, iface_void}},
{"SetLexerLanguage", 4006, iface_void, {iface_void, iface_string}},
{"SetSavePoint", 2014, iface_void, {iface_void, iface_void}},
{"SetSel", 2160, iface_void, {iface_position, iface_position}},
{"SetSelBack", 2068, iface_void, {iface_bool, iface_colour}},
Expand Down Expand Up @@ -1937,7 +1938,6 @@ static IFaceProperty ifaceProperties[] = {
{"LayoutCache", 2273, 2272, iface_int, iface_void},
{"Length", 2006, 0, iface_int, iface_void},
{"Lexer", 4002, 4001, iface_int, iface_void},
{"LexerLanguage", 0, 4006, iface_string, iface_void},
{"LineCount", 2154, 0, iface_int, iface_void},
{"LineEndPosition", 2136, 0, iface_int, iface_int},
{"LineIndentPosition", 2128, 0, iface_position, iface_int},
Expand Down Expand Up @@ -2012,9 +2012,9 @@ static IFaceProperty ifaceProperties[] = {
};

enum {
ifaceFunctionCount = 234,
ifaceConstantCount = 1511,
ifacePropertyCount = 128
ifaceFunctionCount = 236,
ifaceConstantCount = 1510,
ifacePropertyCount = 127
};

//--Autogenerated
Expand Down

0 comments on commit 134ae55

Please sign in to comment.