From: boca4711 <boc...@us...> - 2005-10-16 12:24:52
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23150 Modified Files: SyntaxFile.cpp SyntaxFile.h Log Message: - Added API for calltips - Added autocompletion - Added EOLfilled mode - Added case in keywords Index: SyntaxFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** SyntaxFile.cpp 12 Oct 2005 18:55:57 -0000 1.29 --- SyntaxFile.cpp 16 Oct 2005 12:24:38 -0000 1.30 *************** *** 31,34 **** --- 31,37 ---- #include <iostream> #include <fstream> + #include <io.h> + #include "AnyEdit.h" + #include "Misc.h" #ifdef _DEBUG *************** *** 91,94 **** --- 94,105 ---- KeywordsSpaceDelimited[iCount] = GetDelimitedKeywordSet( iCount, ' ' ); } + sApiFilename = GetApiFilename(); + if (! sApiFilename.IsEmpty()) + { + CMisc msc; + msc.LoadFileToArray(sApiFilename, Api); + // SortStringArray gets CaseSensitive (= !IgnoreCase) + msc.SortStringArray(Api, ! GetCalltipIgnorecase()); + } return m_bParsed = true; *************** *** 240,243 **** --- 251,256 ---- } } + szDelimited.Remove('~'); + return szDelimited; } *************** *** 287,292 **** if( name == "SCLEX_BULLANT" ) return SCLEX_BULLANT; if( name == "SCLEX_VBSCRIPT" ) return SCLEX_VBSCRIPT; ! if( name == "SCLEX_ASP" ) return SCLEX_ASP; ! if( name == "SCLEX_PHP" ) return SCLEX_PHP; if( name == "SCLEX_BAAN" ) return SCLEX_BAAN; if( name == "SCLEX_MATLAB" ) return SCLEX_MATLAB; --- 300,305 ---- if( name == "SCLEX_BULLANT" ) return SCLEX_BULLANT; if( name == "SCLEX_VBSCRIPT" ) return SCLEX_VBSCRIPT; ! // if( name == "SCLEX_ASP" ) return SCLEX_ASP; ! // if( name == "SCLEX_PHP" ) return SCLEX_PHP; if( name == "SCLEX_BAAN" ) return SCLEX_BAAN; if( name == "SCLEX_MATLAB" ) return SCLEX_MATLAB; *************** *** 753,757 **** } - bool CSyntaxFile::GetStyleFontBold( int iStyle ) { --- 766,769 ---- *************** *** 891,895 **** } - int CSyntaxFile::GetStyleColorForeground( int iStyle ) { --- 903,906 ---- *************** *** 1089,1090 **** --- 1100,1227 ---- return m_bModified = true; } + + CStringArray* CSyntaxFile::GetApi() + { + return &Api; + } + + CString CSyntaxFile::GetApiFilename() + { + CString szApiFilename = GetStringFromXMLFile( TAG_API, TAG_API_FILENAME ); + + if (!szApiFilename.IsEmpty() && _access(szApiFilename, 0) != 0) + { + szApiFilename = theApp.GetAppPath() + "api\\" + szApiFilename; + if (_access(szApiFilename, 0) != 0) + szApiFilename.Empty(); + } + + return szApiFilename; + } + + bool CSyntaxFile::SetApiFilename(CString szApiFilename) + { + return SetStringToXMLFile( TAG_API, TAG_API_FILENAME, szApiFilename, false ); + } + + bool CSyntaxFile::GetCalltipIgnorecase() + { + return GetBoolFromXMLFile(TAG_CALLTIP, TAG_CALLTIP_IGNORECASE); + } + + bool CSyntaxFile::SetCalltipIgnorecase(bool bIgnorecase) + { + return SetBoolToXMLFile(TAG_CALLTIP, TAG_CALLTIP_IGNORECASE, bIgnorecase); + } + + CString CSyntaxFile::GetCalltipWordCharacters() + { + return GetStringFromXMLFile(TAG_CALLTIP, TAG_CALLTIP_WORDCHARACTERS); + } + + bool CSyntaxFile::SetCalltipWordCharacters(CString szWordCharacters) + { + return SetStringToXMLFile(TAG_CALLTIP, TAG_CALLTIP_WORDCHARACTERS, szWordCharacters); + } + + CString CSyntaxFile::GetCalltipParameterStart() + { + return GetStringFromXMLFile(TAG_CALLTIP, TAG_CALLTIP_PARAMETERSSTART); + } + + bool CSyntaxFile::SetCalltipParameterStart(CString szStart) + { + return SetStringToXMLFile(TAG_CALLTIP, TAG_CALLTIP_PARAMETERSSTART, szStart); + } + + CString CSyntaxFile::GetCalltipParameterEnd() + { + return GetStringFromXMLFile(TAG_CALLTIP, TAG_CALLTIP_PARAMETERSEND); + } + + bool CSyntaxFile::SetCalltipParameterEnd(CString szEnd) + { + return SetStringToXMLFile(TAG_CALLTIP, TAG_CALLTIP_PARAMETERSEND, szEnd); + } + + CString CSyntaxFile::GetCalltipParameterSeparator() + { + return GetStringFromXMLFile(TAG_CALLTIP, TAG_CALLTIP_PARAMETERSSEPARATOR); + } + + bool CSyntaxFile::SetCalltipSeparator(CString szSeparator) + { + return SetStringToXMLFile(TAG_CALLTIP, TAG_CALLTIP_PARAMETERSSEPARATOR, szSeparator); + } + + CString CSyntaxFile::GetCalltipEndDefinition() + { + return GetStringFromXMLFile(TAG_CALLTIP, TAG_CALLTIP_ENDDEFINITION); + } + + bool CSyntaxFile::SetCalltipEndDefinition(CString szEndDefinition) + { + return SetStringToXMLFile(TAG_CALLTIP, TAG_CALLTIP_ENDDEFINITION, szEndDefinition); + } + + bool CSyntaxFile::GetAutocompleteIgnoreCase() + { + return GetBoolFromXMLFile(TAG_AUTOCOMP, TAG_AUTOCOMP_IGNORECASE); + } + + bool CSyntaxFile::SetAutoCompleteIgnoreCase(bool bIgnoreCase) + { + return SetBoolToXMLFile(TAG_AUTOCOMP, TAG_AUTOCOMP_IGNORECASE, bIgnoreCase); + } + + CString CSyntaxFile::GetAutocompleteStartCharacters() + { + return GetStringFromXMLFile(TAG_AUTOCOMP, TAG_AUTOCOMP_STARTCHARACTERS); + } + + bool CSyntaxFile::SetAutocompleteStartCharacters(CString szStartCharacters) + { + return SetStringToXMLFile(TAG_AUTOCOMP, TAG_AUTOCOMP_STARTCHARACTERS, szStartCharacters); + } + + bool CSyntaxFile::GetStyleEolFilled(int iStyle) + { + return GetBoolFromXMLFile( GetStyleNode( iStyle ), TAG_STYLE_EOL_FILLED ); + } + + int CSyntaxFile::GetStyleCase(int iStyle) + { + return GetIntFromXMLFile( GetStyleNode( iStyle ), TAG_STYLE_CASE ); + } + + bool CSyntaxFile::SetStyleEolFilled(int iStyle, bool bValue) + { + pug::xml_node node(GetStyleNode(iStyle)); + return SetBoolToXMLFile( node, TAG_STYLE_EOL_FILLED, bValue); + } + + bool CSyntaxFile::SetStyleCase(int iStyle, int iValue) + { + pug::xml_node node(GetStyleNode(iStyle)); + return SetIntToXMLFile( node, TAG_STYLE_CASE, iValue); + } Index: SyntaxFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.h,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** SyntaxFile.h 12 Oct 2005 18:55:57 -0000 1.20 --- SyntaxFile.h 16 Oct 2005 12:24:38 -0000 1.21 *************** *** 53,56 **** --- 53,58 ---- #define TAG_MARGINS "Margins" #define TAG_LANGUAGEDEFINES "LanguageDefines" + #define TAG_API "API" + #define TAG_CALLTIP "Calltip" // Lexer sub tags *************** *** 83,86 **** --- 85,90 ---- #define TAG_AUTOCOMP_CODECOMPLETION "CodeCompletion" #define TAG_AUTOCOMP_AUTOCOMPKEY "AutoCompKey" + #define TAG_AUTOCOMP_IGNORECASE "IgnoreCase" + #define TAG_AUTOCOMP_STARTCHARACTERS "StartCharacters" // On save sub tags *************** *** 128,131 **** --- 132,138 ---- #define TAG_STYLE_COLOR_BACKGROUND "Background" + #define TAG_STYLE_EOL_FILLED "EolFilled" + #define TAG_STYLE_CASE "Case" + // Language Defines tags #define TAG_LANGDEFS_CLASSVIEWLANGUAGE "ClassViewLanguage" *************** *** 138,141 **** --- 145,159 ---- #define ATT_LANGDEFS_DEFAULT "default" + // API tags + #define TAG_API_FILENAME "Filename" + + // Calltip tags + #define TAG_CALLTIP_IGNORECASE "IgnoreCase" + #define TAG_CALLTIP_WORDCHARACTERS "WordCharacters" + #define TAG_CALLTIP_PARAMETERSSTART "ParametersStart" + #define TAG_CALLTIP_PARAMETERSEND "ParametersEnd" + #define TAG_CALLTIP_PARAMETERSSEPARATOR "ParametersSeparator" + #define TAG_CALLTIP_ENDDEFINITION "EndDefinition" + /** \class CSyntaxFile * \brief A class with the interface to a xml file with language definitions *************** *** 169,173 **** --- 187,220 ---- pug::xml_node GetStyleColorNode( int iStyle ); + /// Filename of api file. + CString sApiFilename; + + /// Sorted array with api. + CStringArray Api; + public: + bool SetStyleCase(int iStyle, int iValue); + bool SetStyleEolFilled(int iStyle, bool bValue); + int GetStyleCase(int iStyle); + bool GetStyleEolFilled(int iStyle); + bool SetAutocompleteStartCharacters(CString szStartCharacters); + CString GetAutocompleteStartCharacters(void); + bool SetAutoCompleteIgnoreCase(bool bIgnoreCase); + bool GetAutocompleteIgnoreCase(void); + bool SetCalltipEndDefinition(CString szEndDefinition); + CString GetCalltipEndDefinition(void); + bool SetCalltipSeparator(CString szSeparator); + CString GetCalltipParameterSeparator(void); + bool SetCalltipParameterEnd(CString szEnd); + CString GetCalltipParameterEnd(void); + bool SetCalltipParameterStart(CString szStart); + CString GetCalltipParameterStart(void); + bool SetCalltipWordCharacters(CString szWordCharacters); + CString GetCalltipWordCharacters(void); + bool SetCalltipIgnorecase(bool bIgnorecase); + bool GetCalltipIgnorecase(void); + bool SetApiFilename(CString szApiFilename); + CString GetApiFilename(void); + CStringArray* GetApi(void); DECLARE_DYNAMIC(CSyntaxFile) |