From c83d5801c96a96af26e383cca702e8d3e3247c19 Mon Sep 17 00:00:00 2001 From: donho Date: Mon, 14 Jan 2008 00:46:40 +0000 Subject: [PATCH] [NEW_FEATURE] Support YAML language. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@103 f5eea248-9336-0410-98b8-ebc06183d4e3 --- PowerEditor/bin/change.log | 26 ++++++------------- .../MISC/PluginsManager/Notepad_plus_msgs.h | 3 ++- PowerEditor/src/Notepad_plus.cpp | 7 +++++ PowerEditor/src/Notepad_plus.rc | 1 + PowerEditor/src/Parameters.cpp | 5 ++++ .../ScitillaComponent/ScintillaEditView.cpp | 5 +++- .../src/ScitillaComponent/ScintillaEditView.h | 4 +++ PowerEditor/src/langs.model.xml | 3 ++- PowerEditor/src/menuCmdID.h | 1 + PowerEditor/src/stylers.model.xml | 11 ++++++++ 10 files changed, 45 insertions(+), 21 deletions(-) diff --git a/PowerEditor/bin/change.log b/PowerEditor/bin/change.log index a65f48a8..5804bd7d 100644 --- a/PowerEditor/bin/change.log +++ b/PowerEditor/bin/change.log @@ -1,22 +1,12 @@ -Notepad++ v4.7.4 fixed bugs and added features (from v4.7.3) : +Notepad++ v4.7.4 fixed bugs and added features (from v4.7.4) : + +1. Fix the horizon scroll bar flicker bug. +2. Fix the full screen (F11) bug regarding multi-display issue +3. Explorer context menu is available under xp 64 bits et vista 64 bits. +4. Add YAML language. +5. Fix the crash issue of window dialog while clicking Sort button without selected item. +6. Enhance Sort feature GUI part - Enable Sort button only after clicking on the column tab; Disable Sort button after sorting. -1. Make the "recovery system" for 3 mandatory xml files (config.xml, langs.xml and stylers.xml) to prevent the fail loading due to the corrupted files. -2. Extend plugin capacity - add the Scintilla external lexer capacity. -3. Add the ability to hide the tab bar with "-notabbar" flag in command line (ie. Notepad style). -4. Column selection is remembered now while switching among the files. As well this settings will be stored in the next session. -5. Add 2 Commends (beside Toggle Comment) Comment (Ctrl+K) and Uncomment (Ctrl+Shift+K). -6. Change "UTF8 without BOM" menu item behaviour. -7. Fix the hiding bug while launch time because of change of environment from duel monitors to mono monitor. -8. Remove vista UAC warning for GUP. Add "Update Notepad++" menu item. -9. Add NPPM_HIDETABBAR and NPPM_ISTABBARHIDE plugins messages. -10. Add NPPM_GETNPPVERSION message for plugin system. -11. Enhance the horizontal scroll feature. -12. Change Find in files behaviour : all the hidden directory won't be searched (for example : .svn). -13. Add build date-time in about box. -14. Fix a bug where a file with 2 or more consecutive spaces gives problems with sessions and history. -15. Fixe the problem where opening a file when in save as dialog saves the wrong file. -16. Add "Clean Recent File List" menu command. -17. Enhance full screen feature (F11). Included plugins : diff --git a/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h b/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h index 124492e1..159cc74b 100644 --- a/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h +++ b/PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h @@ -25,7 +25,8 @@ enum LangType {L_TXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\ L_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA,\ L_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME,\ L_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3,\ - L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT, L_CMAKE,\ + L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT,\ + L_CMAKE, L_YAML,\ // The end of enumated language type, so it should be always at the end L_EXTERNAL}; enum winVer{WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV_S2003, WV_XPX64, WV_VISTA}; diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp index 638e74cc..925f815d 100644 --- a/PowerEditor/src/Notepad_plus.cpp +++ b/PowerEditor/src/Notepad_plus.cpp @@ -1512,6 +1512,9 @@ void Notepad_plus::getApiFileName(LangType langType, string &fn) case L_CMAKE : fn = "cmake"; break; + case L_YAML : + fn = "yaml"; break; + case L_USER : { Buffer & currentBuf = _pEditView->getCurrentBuffer(); @@ -3621,6 +3624,10 @@ void Notepad_plus::command(int id) setLanguage(id, L_CMAKE); break; + case IDM_LANG_YAML : + setLanguage(id, L_YAML); + break; + case IDM_LANG_USER : setLanguage(id, L_USER); break; diff --git a/PowerEditor/src/Notepad_plus.rc b/PowerEditor/src/Notepad_plus.rc index 6678f45f..334855a8 100644 --- a/PowerEditor/src/Notepad_plus.rc +++ b/PowerEditor/src/Notepad_plus.rc @@ -446,6 +446,7 @@ BEGIN MENUITEM "VHDL", IDM_LANG_VHDL MENUITEM "Verilog", IDM_LANG_VERILOG MENUITEM "XML", IDM_LANG_XML + MENUITEM "YAML", IDM_LANG_YAML MENUITEM SEPARATOR MENUITEM "User Defined", IDM_LANG_USER END diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp index 65151070..722822d0 100644 --- a/PowerEditor/src/Parameters.cpp +++ b/PowerEditor/src/Parameters.cpp @@ -1595,6 +1595,7 @@ LangType NppParameters::getLangIDFromStr(const char *langName) if (!strcmp("inno", langName)) return L_INNO; if (!strcmp("searchResult", langName)) return L_SEARCHRESULT; if (!strcmp("cmake", langName)) return L_CMAKE; + if (!strcmp("yaml", langName)) return L_YAML; int id = _pSelf->getExternalLangIndexFromName(langName); if (id != -1) return (LangType)(id + L_EXTERNAL); @@ -3200,11 +3201,15 @@ int NppParameters::langTypeToCommandID(LangType lt) const case L_CMAKE : id = IDM_LANG_CMAKE; break; + case L_YAML : + id = IDM_LANG_YAML; break; + case L_SEARCHRESULT : id = -1; break; case L_TXT : id = IDM_LANG_TEXT; break; + default : if(lt >= L_EXTERNAL && lt < L_END) id = lt - L_EXTERNAL + IDM_LANG_EXTERNAL; diff --git a/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp b/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp index 8304223a..9b16ad68 100644 --- a/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp +++ b/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp @@ -770,9 +770,12 @@ void ScintillaEditView::defineDocType(LangType typeDoc) case L_CMAKE : setCmakeLexer(); break; + case L_YAML : + setYamlLexer(); break; + case L_TXT : default : - if(typeDoc >= L_EXTERNAL && typeDoc < NppParameters::getInstance()->L_END) + if (typeDoc >= L_EXTERNAL && typeDoc < NppParameters::getInstance()->L_END) setExternalLexer(typeDoc); else execute(SCI_SETLEXER, (_codepage == CP_CHINESE_TRADITIONAL)?SCLEX_MAKEFILE:SCLEX_NULL); diff --git a/PowerEditor/src/ScitillaComponent/ScintillaEditView.h b/PowerEditor/src/ScitillaComponent/ScintillaEditView.h index e4eb7a69..019e11fb 100644 --- a/PowerEditor/src/ScitillaComponent/ScintillaEditView.h +++ b/PowerEditor/src/ScitillaComponent/ScintillaEditView.h @@ -771,6 +771,10 @@ protected: setLexer(SCLEX_CMAKE, L_CMAKE, "cmake", LIST_0 | LIST_1 | LIST_2); }; + void setYamlLexer() { + setLexer(SCLEX_YAML, L_YAML, "yaml", LIST_0); + }; + void setSearchResultLexer() { execute(SCI_STYLESETEOLFILLED, SCE_SEARCHRESULT_HEARDER, true); setLexer(SCLEX_SEARCHRESULT, L_SEARCHRESULT, "searchResult", LIST_1 | LIST_2 | LIST_3); diff --git a/PowerEditor/src/langs.model.xml b/PowerEditor/src/langs.model.xml index 772588dc..eed1b22c 100644 --- a/PowerEditor/src/langs.model.xml +++ b/PowerEditor/src/langs.model.xml @@ -188,7 +188,8 @@ - + + diff --git a/PowerEditor/src/menuCmdID.h b/PowerEditor/src/menuCmdID.h index 1491e681..21dbdff4 100644 --- a/PowerEditor/src/menuCmdID.h +++ b/PowerEditor/src/menuCmdID.h @@ -230,6 +230,7 @@ #define IDM_LANG_HASKELL (IDM_LANG + 46) #define IDM_LANG_INNO (IDM_LANG + 47) #define IDM_LANG_CMAKE (IDM_LANG + 48) + #define IDM_LANG_YAML (IDM_LANG + 49) #define IDM_LANG_EXTERNAL (IDM_LANG + 50) #define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 79) diff --git a/PowerEditor/src/stylers.model.xml b/PowerEditor/src/stylers.model.xml index 49e467f1..108cc708 100644 --- a/PowerEditor/src/stylers.model.xml +++ b/PowerEditor/src/stylers.model.xml @@ -677,6 +677,17 @@ + + + + + + + + + + +